From 0434f5b8ec8de0e89714f301826e9e3bbf617fbf Mon Sep 17 00:00:00 2001 From: Lei Zhang Date: Tue, 11 Aug 2015 14:10:44 -0700 Subject: Merge to XFA: Fix a small leak in CPDF_DataAvail::CheckTrailer(). R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1278713003 . (cherry picked from commit e42e23f34f0a685d6765ba547a26cc2e601efefd) Review URL: https://codereview.chromium.org/1272743005 . --- core/src/fpdfapi/fpdf_parser/fpdf_parser_parser.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to '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 f057ce7d90..5c085ab732 100644 --- a/core/src/fpdfapi/fpdf_parser/fpdf_parser_parser.cpp +++ b/core/src/fpdfapi/fpdf_parser/fpdf_parser_parser.cpp @@ -4113,6 +4113,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); @@ -4130,13 +4131,14 @@ FX_BOOL CPDF_DataAvail::CheckTrailer(IFX_DownloadHints* pHints) { CFX_SmartPointer 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(); @@ -4174,6 +4176,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) { -- cgit v1.2.3