From 1b1dd8a6907f4631044b1c03698170853af594a9 Mon Sep 17 00:00:00 2001 From: Lei Zhang Date: Mon, 5 Oct 2015 17:09:11 -0700 Subject: Merge to XFA: Disable JBIG2 cache; prevent data corruption - try 2. Also change CJBig2_SymbolDict::DeepCopy() to return a unique_ptr to prevent a potential leak if the cache size was 0. BUG=pdfium:207 R=tsepez@chromium.org, jbreiden@google.com Review URL: https://codereview.chromium.org/1374633004 . (cherry picked from commit fd12ec5584d9a17f310a2c0c408a438ef3b1ce63) Review URL: https://codereview.chromium.org/1390673002 . --- core/src/fxcodec/jbig2/JBig2_SymbolDict.h | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) (limited to 'core/src/fxcodec/jbig2/JBig2_SymbolDict.h') diff --git a/core/src/fxcodec/jbig2/JBig2_SymbolDict.h b/core/src/fxcodec/jbig2/JBig2_SymbolDict.h index 19d0f606a5..c8e39dc845 100644 --- a/core/src/fxcodec/jbig2/JBig2_SymbolDict.h +++ b/core/src/fxcodec/jbig2/JBig2_SymbolDict.h @@ -4,19 +4,22 @@ // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com -#ifndef _JBIG2_SYMBOL_DICT_H_ -#define _JBIG2_SYMBOL_DICT_H_ +#ifndef CORE_SRC_FXCODEC_JBIG2_JBIG2_SYMBOLDICT_H_ +#define CORE_SRC_FXCODEC_JBIG2_JBIG2_SYMBOLDICT_H_ +#include "../../../../third_party/base/nonstd_unique_ptr.h" +#include "../../../include/fxcrt/fx_basic.h" #include "JBig2_ArithDecoder.h" -#include "JBig2_Define.h" -#include "JBig2_Image.h" + +class CJBig2_Image; class CJBig2_SymbolDict { public: CJBig2_SymbolDict(); - CJBig2_SymbolDict* DeepCopy(); ~CJBig2_SymbolDict(); + nonstd::unique_ptr DeepCopy() const; + public: FX_DWORD SDNUMEXSYMS; CJBig2_Image** SDEXSYMS; @@ -25,4 +28,4 @@ class CJBig2_SymbolDict { JBig2ArithCtx* m_grContext; }; -#endif +#endif // CORE_SRC_FXCODEC_JBIG2_JBIG2_SYMBOLDICT_H_ -- cgit v1.2.3