Browse Source

Merge pull request #9278 from Couchy/torrent_file_error_handling

Improve error handling when loading torrent files
adaptive-webui-19844
Mike Tzou 6 years ago committed by GitHub
parent
commit
f44ff63361
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 12
      src/base/bittorrent/torrentinfo.cpp

12
src/base/bittorrent/torrentinfo.cpp

@ -112,10 +112,18 @@ TorrentInfo TorrentInfo::loadFromFile(const QString &path, QString *error) noexc
return TorrentInfo(); return TorrentInfo();
} }
const QByteArray data = file.read(fileSizeLimit); QByteArray data;
try {
data = file.readAll();
}
catch (const std::bad_alloc &e) {
if (error)
*error = tr("Torrent file read error: %1").arg(e.what());
return TorrentInfo();
}
if (data.size() != file.size()) { if (data.size() != file.size()) {
if (error) if (error)
*error = tr("Torrent file read error"); *error = tr("Torrent file read error: size mismatch");
return TorrentInfo(); return TorrentInfo();
} }

Loading…
Cancel
Save