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 ++; |
} |