Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(78)

Unified Diff: core/fpdfapi/fpdf_parser/cpdf_data_avail.cpp

Issue 2430743003: in the attempt to fix 627393, changed IFX_FileRead's readBlock to return the length it reads
Patch Set: remove .tmp files Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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));

Powered by Google App Engine
This is Rietveld 408576698