Avoid dereferencing null pointers

PR #16896.
Closes #16884 and similar issues.
This commit is contained in:
Vladimir Golovnev 2022-04-19 13:52:56 +03:00 committed by GitHub
parent b740cc23d3
commit 359c4fef9d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -4150,7 +4150,8 @@ void Session::handleTorrentMetadataReceived(TorrentImpl *const torrent)
if (!torrentExportDirectory().isEmpty())
{
#ifdef QBT_USES_LIBTORRENT2
const TorrentInfo torrentInfo {*torrent->nativeHandle().torrent_file_with_hashes()};
const std::shared_ptr<lt::torrent_info> completeTorrentInfo = torrent->nativeHandle().torrent_file_with_hashes();
const TorrentInfo torrentInfo {*(completeTorrentInfo ? completeTorrentInfo : torrent->nativeHandle().torrent_file())};
#else
const TorrentInfo torrentInfo {*torrent->nativeHandle().torrent_file()};
#endif
@ -4209,7 +4210,8 @@ void Session::handleTorrentFinished(TorrentImpl *const torrent)
if (!finishedTorrentExportDirectory().isEmpty())
{
#ifdef QBT_USES_LIBTORRENT2
const TorrentInfo torrentInfo {*torrent->nativeHandle().torrent_file_with_hashes()};
const std::shared_ptr<lt::torrent_info> completeTorrentInfo = torrent->nativeHandle().torrent_file_with_hashes();
const TorrentInfo torrentInfo {*(completeTorrentInfo ? completeTorrentInfo : torrent->nativeHandle().torrent_file())};
#else
const TorrentInfo torrentInfo {*torrent->nativeHandle().torrent_file()};
#endif