| Index: core/src/fpdfapi/fpdf_parser/fpdf_parser_parser.cpp
|
| diff --git a/core/src/fpdfapi/fpdf_parser/fpdf_parser_parser.cpp b/core/src/fpdfapi/fpdf_parser/fpdf_parser_parser.cpp
|
| index 23efb5259624e70636000375745ef9f8df947663..21b2fbae8a99e7d0436da086eae83b784e9c1cdb 100644
|
| --- a/core/src/fpdfapi/fpdf_parser/fpdf_parser_parser.cpp
|
| +++ b/core/src/fpdfapi/fpdf_parser/fpdf_parser_parser.cpp
|
| @@ -4104,6 +4104,7 @@ FX_BOOL CPDF_DataAvail::CheckTrailerAppend(IFX_DownloadHints* pHints) {
|
| }
|
| return TRUE;
|
| }
|
| +
|
| FX_BOOL CPDF_DataAvail::CheckTrailer(IFX_DownloadHints* pHints) {
|
| int32_t iTrailerSize =
|
| (int32_t)(m_Pos + 512 > m_dwFileLen ? m_dwFileLen - m_Pos : 512);
|
| @@ -4121,13 +4122,14 @@ FX_BOOL CPDF_DataAvail::CheckTrailer(IFX_DownloadHints* pHints) {
|
| CFX_SmartPointer<IFX_FileStream> file(
|
| FX_CreateMemoryStream(pBuf, (size_t)iSize, FALSE));
|
| m_syntaxParser.InitParser(file.Get(), 0);
|
| - CPDF_Object* pTrailer = m_syntaxParser.GetObject(NULL, 0, 0, 0);
|
| + CPDF_Object* pTrailer = m_syntaxParser.GetObject(nullptr, 0, 0);
|
| if (!pTrailer) {
|
| m_Pos += m_syntaxParser.SavePos();
|
| pHints->AddSegment(m_Pos, iTrailerSize);
|
| return FALSE;
|
| }
|
| if (pTrailer->GetType() != PDFOBJ_DICTIONARY) {
|
| + pTrailer->Release();
|
| return FALSE;
|
| }
|
| CPDF_Dictionary* pTrailerDict = pTrailer->GetDict();
|
| @@ -4165,6 +4167,7 @@ FX_BOOL CPDF_DataAvail::CheckTrailer(IFX_DownloadHints* pHints) {
|
| pHints->AddSegment(m_Pos, iTrailerSize);
|
| return FALSE;
|
| }
|
| +
|
| FX_BOOL CPDF_DataAvail::CheckPage(int32_t iPage, IFX_DownloadHints* pHints) {
|
| while (TRUE) {
|
| switch (m_docStatus) {
|
|
|