From 22b31e0b3d14a50c4dd70ed22e0f24975dc1137c Mon Sep 17 00:00:00 2001 From: Bo Xu Date: Mon, 21 Jul 2014 10:02:07 -0700 Subject: Adjust null object check BUG=None R=thakis@chromium.org Review URL: https://codereview.chromium.org/396173003 --- core/src/fpdfdoc/doc_ap.cpp | 5 ++++- core/src/fpdfdoc/doc_formfield.cpp | 9 ++++++--- 2 files changed, 10 insertions(+), 4 deletions(-) (limited to 'core/src/fpdfdoc') diff --git a/core/src/fpdfdoc/doc_ap.cpp b/core/src/fpdfdoc/doc_ap.cpp index 6a8ab374d2..0e2a75ad2c 100644 --- a/core/src/fpdfdoc/doc_ap.cpp +++ b/core/src/fpdfdoc/doc_ap.cpp @@ -253,7 +253,10 @@ static FX_BOOL GenerateWidgetAP(CPDF_Document* pDoc, CPDF_Dictionary* pAnnotDict if (!pFormDict) { return FALSE; } - CFX_ByteString DA = FPDF_GetFieldAttr(pAnnotDict, "DA") ? FPDF_GetFieldAttr(pAnnotDict, "DA")->GetString() : CFX_ByteString(); + CFX_ByteString DA; + if (CPDF_Object* pDAObj = FPDF_GetFieldAttr(pAnnotDict, "DA")) { + DA = pDAObj->GetString(); + } if (DA.IsEmpty()) { DA = pFormDict->GetString("DA"); } diff --git a/core/src/fpdfdoc/doc_formfield.cpp b/core/src/fpdfdoc/doc_formfield.cpp index e51acf94a1..eeba372390 100644 --- a/core/src/fpdfdoc/doc_formfield.cpp +++ b/core/src/fpdfdoc/doc_formfield.cpp @@ -1077,9 +1077,12 @@ FX_BOOL CPDF_FormField::ClearSelectedOptions(FX_BOOL bNotify) } void CPDF_FormField::LoadDA() { - CFX_ByteString DA = FPDF_GetFieldAttr(m_pDict, "DA") ? FPDF_GetFieldAttr(m_pDict, "DA")->GetString() : CFX_ByteString(); - if (DA.IsEmpty()) { - DA = m_pForm->m_pFormDict ? m_pForm->m_pFormDict->GetString("DA") : CFX_ByteString(); + CFX_ByteString DA; + if (CPDF_Object* pObj_t = FPDF_GetFieldAttr(m_pDict, "DA")) { + DA = pObj_t->GetString(); + } + if (DA.IsEmpty() && m_pForm->m_pFormDict) { + DA = m_pForm->m_pFormDict->GetString("DA"); } if (DA.IsEmpty()) { return; -- cgit v1.2.3