diff options
author | Tom Sepez <tsepez@chromium.org> | 2018-01-30 17:48:32 +0000 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2018-01-30 17:48:32 +0000 |
commit | 77d8ed02c7e97471ceccee5abbabeb2fdea413c7 (patch) | |
tree | 6a3fc052a3783e4c1fcbd59713e689bd9561fb7a /core/fpdfapi/page/cpdf_image.h | |
parent | e563e8352139e4852a955e319023b09f2844aee9 (diff) | |
download | pdfium-77d8ed02c7e97471ceccee5abbabeb2fdea413c7.tar.xz |
Revert "Use UnownedPtr instead of T* in MaybeOwned."
This reverts commit e563e8352139e4852a955e319023b09f2844aee9.
Reason for revert: <INSERT REASONING HERE>
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 <tsepez@chromium.org>
> Reviewed-by: dsinclair <dsinclair@chromium.org>
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 <tsepez@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
Diffstat (limited to 'core/fpdfapi/page/cpdf_image.h')
-rw-r--r-- | core/fpdfapi/page/cpdf_image.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/core/fpdfapi/page/cpdf_image.h b/core/fpdfapi/page/cpdf_image.h index 57cbe94ca2..23864bbf6c 100644 --- a/core/fpdfapi/page/cpdf_image.h +++ b/core/fpdfapi/page/cpdf_image.h @@ -29,6 +29,7 @@ class CPDF_Image : public Retainable { void ConvertStreamToIndirectObject(); + CPDF_Dictionary* GetInlineDict() const { return m_pDict.Get(); } CPDF_Stream* GetStream() const { return m_pStream.Get(); } CPDF_Dictionary* GetDict() const; CPDF_Dictionary* GetOC() const { return m_pOC.Get(); } @@ -67,7 +68,7 @@ class CPDF_Image : public Retainable { CPDF_Image(CPDF_Document* pDoc, uint32_t dwStreamObjNum); ~CPDF_Image() override; - void FinishInitialization(CPDF_Dictionary* pStreamDict); + void FinishInitialization(); std::unique_ptr<CPDF_Dictionary> InitJPEG(uint8_t* pData, uint32_t size); int32_t m_Height = 0; @@ -77,6 +78,7 @@ class CPDF_Image : public Retainable { bool m_bInterpolate = false; UnownedPtr<CPDF_Document> const m_pDocument; MaybeOwned<CPDF_Stream> m_pStream; + MaybeOwned<CPDF_Dictionary> m_pDict; UnownedPtr<CPDF_Dictionary> m_pOC; }; |