From 931d087b991a986cc8bfa72131fe8eda0d987fc4 Mon Sep 17 00:00:00 2001 From: tsepez Date: Fri, 4 Nov 2016 16:00:03 -0700 Subject: Pass object to ReplaceIndirectObjectIfHigherGeneration() by unique_ptr. Review-Url: https://codereview.chromium.org/2477003002 --- core/fpdfapi/parser/cpdf_indirect_object_holder.cpp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) (limited to 'core/fpdfapi/parser/cpdf_indirect_object_holder.cpp') diff --git a/core/fpdfapi/parser/cpdf_indirect_object_holder.cpp b/core/fpdfapi/parser/cpdf_indirect_object_holder.cpp index 720fe18606..b2cb08c08a 100644 --- a/core/fpdfapi/parser/cpdf_indirect_object_holder.cpp +++ b/core/fpdfapi/parser/cpdf_indirect_object_holder.cpp @@ -53,18 +53,17 @@ uint32_t CPDF_IndirectObjectHolder::AddIndirectObject(CPDF_Object* pObj) { bool CPDF_IndirectObjectHolder::ReplaceIndirectObjectIfHigherGeneration( uint32_t objnum, - CPDF_Object* pObj) { + std::unique_ptr pObj) { ASSERT(objnum); if (!pObj) return false; CPDF_Object* pOldObj = GetIndirectObject(objnum); - if (pOldObj && pObj->GetGenNum() <= pOldObj->GetGenNum()) { - delete pObj; + if (pOldObj && pObj->GetGenNum() <= pOldObj->GetGenNum()) return false; - } + pObj->m_ObjNum = objnum; - m_IndirectObjs[objnum].reset(pObj); + m_IndirectObjs[objnum] = std::move(pObj); m_LastObjNum = std::max(m_LastObjNum, objnum); return true; } -- cgit v1.2.3