From 012ae898a069bda7afbfdad4eb4c8ba042b68dc7 Mon Sep 17 00:00:00 2001 From: Tom Sepez Date: Tue, 25 Apr 2017 16:39:34 -0700 Subject: Get rid of a few |new|s in CPDF_Document. The chain of destructors may attempt to use m_pDocPage after it has been set to null by the unique_ptr destructor. Verify it is still present before using it from any code that may be called from some other CPDF_ destructor. Change-Id: I007160231d73feed85d90efc687d6da993653f96 Reviewed-on: https://pdfium-review.googlesource.com/4499 Reviewed-by: Lei Zhang Commit-Queue: Tom Sepez --- core/fpdfapi/parser/cpdf_document.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'core/fpdfapi/parser/cpdf_document.cpp') diff --git a/core/fpdfapi/parser/cpdf_document.cpp b/core/fpdfapi/parser/cpdf_document.cpp index c23637e8fa..48791262ea 100644 --- a/core/fpdfapi/parser/cpdf_document.cpp +++ b/core/fpdfapi/parser/cpdf_document.cpp @@ -348,14 +348,13 @@ CPDF_Document::CPDF_Document(std::unique_ptr pParser) m_bLinearized(false), m_iFirstPageNo(0), m_dwFirstPageObjNum(0), - m_pDocPage(new CPDF_DocPageData(this)), - m_pDocRender(new CPDF_DocRenderData(this)) { + m_pDocPage(pdfium::MakeUnique(this)), + m_pDocRender(pdfium::MakeUnique(this)) { if (pParser) SetLastObjNum(m_pParser->GetLastObjNum()); } CPDF_Document::~CPDF_Document() { - delete m_pDocPage; CPDF_ModuleMgr::Get()->GetPageModule()->ClearStockFont(this); } -- cgit v1.2.3