CHECK for re-addition of indirect objects
Review-Url: https://codereview.chromium.org/2471263005
diff --git a/core/fpdfapi/parser/cpdf_document_unittest.cpp b/core/fpdfapi/parser/cpdf_document_unittest.cpp
index 71716a6..16d0ade 100644
--- a/core/fpdfapi/parser/cpdf_document_unittest.cpp
+++ b/core/fpdfapi/parser/cpdf_document_unittest.cpp
@@ -69,8 +69,7 @@
CPDF_Dictionary* pagesDict = CreatePageTreeNode(allPages, this, 7);
m_pOwnedRootDict.reset(new CPDF_Dictionary());
- m_pOwnedRootDict->SetReferenceFor("Pages", this,
- AddIndirectObject(pagesDict));
+ m_pOwnedRootDict->SetReferenceFor("Pages", this, pagesDict->GetObjNum());
m_pRootDict = m_pOwnedRootDict.get();
m_PageList.SetSize(7);
}
diff --git a/core/fpdfapi/parser/cpdf_indirect_object_holder.cpp b/core/fpdfapi/parser/cpdf_indirect_object_holder.cpp
index d3204e0..720fe18 100644
--- a/core/fpdfapi/parser/cpdf_indirect_object_holder.cpp
+++ b/core/fpdfapi/parser/cpdf_indirect_object_holder.cpp
@@ -43,9 +43,7 @@
}
uint32_t CPDF_IndirectObjectHolder::AddIndirectObject(CPDF_Object* pObj) {
- if (pObj->m_ObjNum)
- return pObj->m_ObjNum;
-
+ CHECK(!pObj->m_ObjNum);
m_LastObjNum++;
m_IndirectObjs[m_LastObjNum].release(); // TODO(tsepez): stop this leak.
m_IndirectObjs[m_LastObjNum].reset(pObj);