summaryrefslogtreecommitdiff
path: root/core/fpdfapi/parser/cpdf_document.cpp
diff options
context:
space:
mode:
authorTom Sepez <tsepez@chromium.org>2017-04-25 16:39:34 -0700
committerChromium commit bot <commit-bot@chromium.org>2017-04-26 00:05:22 +0000
commit012ae898a069bda7afbfdad4eb4c8ba042b68dc7 (patch)
tree9a8e9e05e2fe6fd127b781dbb55b8793eea2d92e /core/fpdfapi/parser/cpdf_document.cpp
parent5c42c8e9b78082319ad57f143ad03037d447aa36 (diff)
downloadpdfium-012ae898a069bda7afbfdad4eb4c8ba042b68dc7.tar.xz
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 <thestig@chromium.org> Commit-Queue: Tom Sepez <tsepez@chromium.org>
Diffstat (limited to 'core/fpdfapi/parser/cpdf_document.cpp')
-rw-r--r--core/fpdfapi/parser/cpdf_document.cpp5
1 files changed, 2 insertions, 3 deletions
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<CPDF_Parser> 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<CPDF_DocPageData>(this)),
+ m_pDocRender(pdfium::MakeUnique<CPDF_DocRenderData>(this)) {
if (pParser)
SetLastObjNum(m_pParser->GetLastObjNum());
}
CPDF_Document::~CPDF_Document() {
- delete m_pDocPage;
CPDF_ModuleMgr::Get()->GetPageModule()->ClearStockFont(this);
}