From 77d8ed02c7e97471ceccee5abbabeb2fdea413c7 Mon Sep 17 00:00:00 2001 From: Tom Sepez Date: Tue, 30 Jan 2018 17:48:32 +0000 Subject: Revert "Use UnownedPtr instead of T* in MaybeOwned." This reverts commit e563e8352139e4852a955e319023b09f2844aee9. Reason for revert: Original change's description: > Use UnownedPtr instead of T* in MaybeOwned. > > Always check the liftime in the unowned case. Doing so unearthed > the following issues: > > Transient lifetime issue in jbig2_image when doing realloc(). > Stale (but unused) dictionary pointer in CPDF_Image. > Destruction order in error branch in cpdf_dibsource.cpp > > Change-Id: I12b758aafeefedc7abe1e8b21a18db959929e95f > Reviewed-on: https://pdfium-review.googlesource.com/24552 > Commit-Queue: Tom Sepez > Reviewed-by: dsinclair TBR=thestig@chromium.org,tsepez@chromium.org,dsinclair@chromium.org Change-Id: I3c56ee6ab502da90e3adb7507dbc8cc92f090140 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://pdfium-review.googlesource.com/24670 Reviewed-by: Tom Sepez Commit-Queue: Tom Sepez --- core/fxcodec/jbig2/JBig2_Image.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'core/fxcodec') diff --git a/core/fxcodec/jbig2/JBig2_Image.cpp b/core/fxcodec/jbig2/JBig2_Image.cpp index d229e0ca01..b0d75d4d96 100644 --- a/core/fxcodec/jbig2/JBig2_Image.cpp +++ b/core/fxcodec/jbig2/JBig2_Image.cpp @@ -234,8 +234,8 @@ void CJBig2_Image::expand(int32_t h, bool v) { return; if (m_pData.IsOwned()) { - m_pData.Reset(std::unique_ptr(FX_Realloc( - uint8_t, m_pData.ReleaseAndClear().release(), h * m_nStride))); + m_pData.Reset(std::unique_ptr( + FX_Realloc(uint8_t, m_pData.Release().release(), h * m_nStride))); } else { uint8_t* pExternalBuffer = data(); m_pData.Reset(std::unique_ptr( -- cgit v1.2.3