Chromium Code Reviews| Index: core/src/fpdfapi/fpdf_page/fpdf_page_parser_old.cpp |
| diff --git a/core/src/fpdfapi/fpdf_page/fpdf_page_parser_old.cpp b/core/src/fpdfapi/fpdf_page/fpdf_page_parser_old.cpp |
| index 8cd9f2bdb5d105c831dd8eefbf0f3e62351a9519..445beff53b426946f152f6bde01e9f03d7ebb196 100644 |
| --- a/core/src/fpdfapi/fpdf_page/fpdf_page_parser_old.cpp |
| +++ b/core/src/fpdfapi/fpdf_page/fpdf_page_parser_old.cpp |
| @@ -91,7 +91,7 @@ void CPDF_StreamContentParser::Handle_BeginImage() |
| CPDF_Object* pObj = m_pSyntax->ReadNextObject(); |
| if (!key.IsEmpty()) { |
| pDict->SetAt(key, pObj, m_pDocument); |
| - } else { |
| + } else if (pObj) { |
| pObj->Release(); |
| } |
| } |
| @@ -592,7 +592,7 @@ CPDF_Object* CPDF_StreamParser::ReadNextObject(FX_BOOL bAllowNestedArray, FX_BOO |
| return CPDF_String::Create(ReadHexString(), TRUE); |
| } |
| CPDF_Dictionary* pDict = CPDF_Dictionary::Create(); |
| - while (1) { |
| + while (pDict) { |
|
Nico
2014/06/28 01:01:07
CPDF_Dictionary::Create() probably never will retu
|
| GetNextWord(bIsNumber); |
| if (m_WordSize == 0) { |
| pDict->Release(); |
| @@ -1064,7 +1064,7 @@ void CPDF_ContentParser::Continue(IFX_Pause* pPause) |
| } else { |
| CPDF_Array* pContent = m_pObjects->m_pFormDict->GetArray(FX_BSTRC("Contents")); |
| m_pStreamArray[m_CurrentOffset] = FX_NEW CPDF_StreamAcc; |
| - CPDF_Stream* pStreamObj = (CPDF_Stream*)pContent->GetElementValue(m_CurrentOffset); |
| + CPDF_Stream* pStreamObj = (CPDF_Stream*)(pContent ? pContent->GetElementValue(m_CurrentOffset) : NULL); |
| m_pStreamArray[m_CurrentOffset]->LoadAllData(pStreamObj, FALSE); |
| m_CurrentOffset ++; |
| } |