Chromium Code Reviews| Index: core/fpdfapi/fpdf_parser/cpdf_data_avail.cpp |
| diff --git a/core/fpdfapi/fpdf_parser/cpdf_data_avail.cpp b/core/fpdfapi/fpdf_parser/cpdf_data_avail.cpp |
| index a8cbeaf5d4e3544473b089f614e28ce6099ee4ce..964df647efffdd3ffdf6a27895f36b3571363735 100644 |
| --- a/core/fpdfapi/fpdf_parser/cpdf_data_avail.cpp |
| +++ b/core/fpdfapi/fpdf_parser/cpdf_data_avail.cpp |
| @@ -1074,7 +1074,9 @@ FX_BOOL CPDF_DataAvail::GetNextChar(uint8_t& ch) { |
| if ((FX_FILESIZE)(read_pos + read_size) > m_dwFileLen) |
| read_pos = m_dwFileLen - read_size; |
| - if (!m_pFileRead->ReadBlock(m_bufferData, read_pos, read_size)) |
| + if (m_pFileRead->ReadBlock(m_bufferData, read_pos, read_size) != |
| + read_size && |
| + !m_pFileRead->IsEOF()) |
| return FALSE; |
| m_bufferOffset = read_pos; |
| @@ -1187,7 +1189,8 @@ FX_BOOL CPDF_DataAvail::CheckTrailer(DownloadHints* pHints) { |
| return FALSE; |
| } |
| - if (!m_pFileRead->ReadBlock(pBuf, m_dwTrailerOffset, iSize)) |
| + if (m_pFileRead->ReadBlock(pBuf, m_dwTrailerOffset, iSize) != iSize && |
|
Tom Sepez
2016/10/19 23:12:47
this may trigger a signed/unsigned comparision war
|
| + !m_pFileRead->IsEOF()) |
| return FALSE; |
| ScopedFileStream file(FX_CreateMemoryStream(pBuf, (size_t)iSize, FALSE)); |