mirror of
https://github.com/qbittorrent/qBittorrent.git
synced 2024-12-03 03:20:22 +03: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
1 changed files with 7 additions and 2 deletions
|
@ -363,8 +363,13 @@ TorrentInfo::PieceRange TorrentInfo::filePieces(const int fileIndex) const
|
|||
const lt::file_storage &files = nativeInfo()->files();
|
||||
const auto fileSize = files.file_size(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)
|
||||
|
|
Loading…
Reference in a new issue