summaryrefslogtreecommitdiff
path: root/Source/Core/DiscIO
diff options
context:
space:
mode:
authorPierre Bourdon <delroth@gmail.com>2016-05-29 17:55:34 +0200
committerPierre Bourdon <delroth@gmail.com>2016-05-29 18:26:04 +0200
commitc4240692b6271cd3c8a93e8fa147df67df3e32fa (patch)
tree5326b327932d36633f8e6e9b493564ea8ecf8084 /Source/Core/DiscIO
parent6ef7414479659c2c97c79d7244534c89dd6166e1 (diff)
SectorReader: Fix reading the last block of the disc.
Regression from PR #3795.
Diffstat (limited to 'Source/Core/DiscIO')
-rw-r--r--Source/Core/DiscIO/Blob.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/Source/Core/DiscIO/Blob.cpp b/Source/Core/DiscIO/Blob.cpp
index 19bd9faf7d..0b726c3ffb 100644
--- a/Source/Core/DiscIO/Blob.cpp
+++ b/Source/Core/DiscIO/Blob.cpp
@@ -141,7 +141,7 @@ u32 SectorReader::ReadChunk(u8* buffer, u64 chunk_num)
// If we are reading the end of a disk, there may not be enough blocks to
// read a whole chunk. We need to clamp down in that case.
- u64 end_block = GetDataSize() / m_block_size;
+ u64 end_block = (GetDataSize() + m_block_size - 1) / m_block_size;
if (end_block)
cnt_blocks = static_cast<u32>(std::min<u64>(m_chunk_blocks, end_block - block_num));