Tidy CPDF_DataAvail::GetObject()
-- Output pointer always present.
-- Re-structure for simplicity.
Change-Id: I3b596a5852d247dad18ac41d4427d7c1a39e7169
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/80290
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
diff --git a/core/fpdfapi/parser/cpdf_data_avail.cpp b/core/fpdfapi/parser/cpdf_data_avail.cpp
index 392010c..8f59630 100644
--- a/core/fpdfapi/parser/cpdf_data_avail.cpp
+++ b/core/fpdfapi/parser/cpdf_data_avail.cpp
@@ -213,23 +213,19 @@
RetainPtr<CPDF_Object> CPDF_DataAvail::GetObject(uint32_t objnum,
bool* pExistInFile) {
- CPDF_Parser* pParser = nullptr;
+ *pExistInFile = false;
+ CPDF_Parser* pParser = m_pDocument ? m_pDocument->GetParser() : &m_parser;
+ if (!pParser)
+ return nullptr;
- if (pExistInFile)
- *pExistInFile = true;
+ CPDF_ReadValidator::ScopedSession read_session(GetValidator());
+ RetainPtr<CPDF_Object> pRet = pParser->ParseIndirectObject(objnum);
+ if (!pRet)
+ return nullptr;
- pParser = m_pDocument ? m_pDocument->GetParser() : &m_parser;
-
- RetainPtr<CPDF_Object> pRet;
- if (pParser) {
- CPDF_ReadValidator::ScopedSession read_session(GetValidator());
- pRet = pParser->ParseIndirectObject(objnum);
- if (GetValidator()->has_read_problems())
- return nullptr;
- }
-
- if (!pRet && pExistInFile)
- *pExistInFile = false;
+ *pExistInFile = true;
+ if (GetValidator()->has_read_problems())
+ return nullptr;
return pRet;
}