mirror of
https://github.com/d47081/qBittorrent.git
synced 2025-03-10 12:21:12 +00:00
Fix assertion fail
When fileSize == 0, the second index could be smaller than the first index, thus trigger the assert check in IndexInterval constructor. Closes #10611.
This commit is contained in:
parent
dca055656a
commit
459cdf6071
@ -363,8 +363,13 @@ TorrentInfo::PieceRange TorrentInfo::filePieces(const int fileIndex) const
|
|||||||
const lt::file_storage &files = nativeInfo()->files();
|
const lt::file_storage &files = nativeInfo()->files();
|
||||||
const auto fileSize = files.file_size(LTFileIndex {fileIndex});
|
const auto fileSize = files.file_size(LTFileIndex {fileIndex});
|
||||||
const auto fileOffset = files.file_offset(LTFileIndex {fileIndex});
|
const auto fileOffset = files.file_offset(LTFileIndex {fileIndex});
|
||||||
return makeInterval(static_cast<int>(fileOffset / pieceLength()),
|
|
||||||
static_cast<int>((fileOffset + fileSize - 1) / pieceLength()));
|
const int beginIdx = (fileOffset / pieceLength());
|
||||||
|
const int endIdx = ((fileOffset + fileSize - 1) / pieceLength());
|
||||||
|
|
||||||
|
if (fileSize <= 0)
|
||||||
|
return {beginIdx, 0};
|
||||||
|
return makeInterval(beginIdx, endIdx);
|
||||||
}
|
}
|
||||||
|
|
||||||
void TorrentInfo::renameFile(const int index, const QString &newPath)
|
void TorrentInfo::renameFile(const int index, const QString &newPath)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user