Chromium Code Reviews| Index: core/fpdfapi/parser/cpdf_syntax_parser.cpp |
| diff --git a/core/fpdfapi/parser/cpdf_syntax_parser.cpp b/core/fpdfapi/parser/cpdf_syntax_parser.cpp |
| index 842ef2b22201143cbda709303041412adf3c8a30..3e11b852389c182a91d55169c14f85feb4ea1d60 100644 |
| --- a/core/fpdfapi/parser/cpdf_syntax_parser.cpp |
| +++ b/core/fpdfapi/parser/cpdf_syntax_parser.cpp |
| @@ -64,7 +64,8 @@ bool CPDF_SyntaxParser::ReadChar(FX_FILESIZE read_pos, uint32_t read_size) { |
| read_pos = m_FileLen - read_size; |
| } |
| } |
| - if (!m_pFileAccess->ReadBlock(m_pFileBuf, read_pos, read_size)) |
| + if (m_pFileAccess->ReadBlock(m_pFileBuf, read_pos, read_size) != read_size && |
| + !m_pFileAccess->IsEOF()) |
| return false; |
| m_BufOffset = read_pos; |
| @@ -108,7 +109,8 @@ bool CPDF_SyntaxParser::GetCharAtBackward(FX_FILESIZE pos, uint8_t& ch) { |
| } |
| bool CPDF_SyntaxParser::ReadBlock(uint8_t* pBuf, uint32_t size) { |
| - if (!m_pFileAccess->ReadBlock(pBuf, m_Pos + m_HeaderOffset, size)) |
| + if (m_pFileAccess->ReadBlock(pBuf, m_Pos + m_HeaderOffset, size) != size && |
| + !m_pFileAccess->IsEOF()) |
| return false; |
| m_Pos += size; |
|
Tom Sepez
2016/11/14 20:27:40
and here.
|
| return true; |