Index: core/src/fpdfdoc/doc_annot.cpp |
diff --git a/core/src/fpdfdoc/doc_annot.cpp b/core/src/fpdfdoc/doc_annot.cpp |
index 227578a974ffbe035668fd86a4b499487d6cf66c..89528455701f41f510b95c180ed4aaaffa5a364a 100644 |
--- a/core/src/fpdfdoc/doc_annot.cpp |
+++ b/core/src/fpdfdoc/doc_annot.cpp |
@@ -165,7 +165,7 @@ void CPDF_Annot::ClearCachedAP() |
} |
CFX_ByteString CPDF_Annot::GetSubType() const |
{ |
- return m_pAnnotDict->GetConstString(FX_BSTRC("Subtype")); |
+ return m_pAnnotDict ? m_pAnnotDict->GetConstString(FX_BSTRC("Subtype")) : CFX_ByteStringC(); |
} |
void CPDF_Annot::GetRect(CPDF_Rect& rect) const |
{ |
@@ -202,7 +202,8 @@ CPDF_Stream* FPDFDOC_GetAnnotAP(CPDF_Dictionary* pAnnotDict, CPDF_Annot::Appeara |
if (as.IsEmpty()) { |
CFX_ByteString value = pAnnotDict->GetString(FX_BSTRC("V")); |
if (value.IsEmpty()) { |
- value = pAnnotDict->GetDict(FX_BSTRC("Parent"))->GetString(FX_BSTRC("V")); |
+ CPDF_Dictionary* pDict = pAnnotDict->GetDict(FX_BSTRC("Parent")); |
+ value = pDict ? pDict->GetString(FX_BSTRC("V")) : CFX_ByteString(); |
} |
if (value.IsEmpty() || !((CPDF_Dictionary*)psub)->KeyExist(value)) { |
as = FX_BSTRC("Off"); |