Do not store cross ref v5 obj within document.
Currently, not necessary to store the cross ref v5 obj within
CPDF_IndirectObjectHolder(CPDF_Document), because all
necessary data from the cross ref are parsed or cloned, and
owned by CPDF_Parser seperately from CPDF_IndirectObjectHolder.
Also this fix regression from commit 4ea4459e.
BUG=chromium:810768
Change-Id: I0d1a11ff027210f4f15804a69d12416838ec9815
Reviewed-on: https://pdfium-review.googlesource.com/37110
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Art Snake <art-snake@yandex-team.ru>
diff --git a/core/fpdfapi/parser/cpdf_parser.cpp b/core/fpdfapi/parser/cpdf_parser.cpp
index e372f12..f7846ef 100644
--- a/core/fpdfapi/parser/cpdf_parser.cpp
+++ b/core/fpdfapi/parser/cpdf_parser.cpp
@@ -977,16 +977,7 @@
if (!objnum)
return false;
- CPDF_Object* pUnownedObject = pObject.get();
- const CPDF_Dictionary* pRootDict = GetRoot();
- if (pRootDict && pRootDict->GetObjNum() == objnum)
- return false;
- if (!m_pObjectsHolder->ReplaceIndirectObjectIfHigherGeneration(
- objnum, std::move(pObject))) {
- return false;
- }
-
- CPDF_Stream* pStream = pUnownedObject->AsStream();
+ CPDF_Stream* pStream = pObject->AsStream();
if (!pStream)
return false;