Index: xfa/fde/xml/cfx_saxreader.cpp |
diff --git a/xfa/fde/xml/cfx_saxreader.cpp b/xfa/fde/xml/cfx_saxreader.cpp |
index b4d48d29379436c2db2e95a514cb7836fa4e8638..313f2d213a5f968f502c0ff993b34720ed3b2e5b 100644 |
--- a/xfa/fde/xml/cfx_saxreader.cpp |
+++ b/xfa/fde/xml/cfx_saxreader.cpp |
@@ -86,7 +86,8 @@ bool CFX_SAXFile::StartFile(IFX_SeekableReadStream* pFile, |
} |
m_dwBufSize = std::min(dwLen, kSaxFileBufSize); |
m_pBuf = FX_Alloc(uint8_t, m_dwBufSize); |
- if (!pFile->ReadBlock(m_pBuf, dwStart, m_dwBufSize)) { |
+ if (pFile->ReadBlock(m_pBuf, dwStart, m_dwBufSize) != m_dwBufSize && |
+ !pFile->IsEOF()) { |
return false; |
} |
m_dwStart = dwStart; |
@@ -104,7 +105,8 @@ bool CFX_SAXFile::ReadNextBlock() { |
return false; |
} |
m_dwBufSize = std::min(dwSize, kSaxFileBufSize); |
- if (!m_pFile->ReadBlock(m_pBuf, m_dwCur, m_dwBufSize)) { |
+ if (m_pFile->ReadBlock(m_pBuf, m_dwCur, m_dwBufSize) != m_dwBufSize && |
+ !m_pFile->IsEOF()) { |
return false; |
} |
m_dwBufIndex = 0; |