Index: core/fpdfapi/parser/cpdf_parser.cpp |
diff --git a/core/fpdfapi/parser/cpdf_parser.cpp b/core/fpdfapi/parser/cpdf_parser.cpp |
index ed20cf73f4f43ce2dd9aa8d12c68486e109ea813..01f5938e053b8fdbdf8364f45aecac411235264e 100644 |
--- a/core/fpdfapi/parser/cpdf_parser.cpp |
+++ b/core/fpdfapi/parser/cpdf_parser.cpp |
@@ -598,7 +598,8 @@ bool CPDF_Parser::RebuildCrossRef() { |
bool bOverFlow = false; |
uint32_t size = |
std::min((uint32_t)(m_pSyntax->m_FileLen - pos), kBufferSize); |
- if (!m_pSyntax->m_pFileAccess->ReadBlock(buffer.data(), pos, size)) |
+ if (m_pSyntax->m_pFileAccess->ReadBlock(buffer.data(), pos, size) != size && |
+ !m_pSyntax->m_pFileAccess->IsEOF()) |
break; |
for (uint32_t i = 0; i < size; i++) { |