diff options
author | Lei Zhang <thestig@chromium.org> | 2015-10-05 10:16:20 -0700 |
---|---|---|
committer | Lei Zhang <thestig@chromium.org> | 2015-10-05 10:16:20 -0700 |
commit | fd12ec5584d9a17f310a2c0c408a438ef3b1ce63 (patch) | |
tree | ed9272ed2544339f63d9c757a1d14a9778ad4e9d /core/src/fxcodec/jbig2/JBig2_SymbolDict.h | |
parent | eda27bd13270f5324ce3caa34a09a40cffc4026f (diff) | |
download | pdfium-fd12ec5584d9a17f310a2c0c408a438ef3b1ce63.tar.xz |
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 .
Diffstat (limited to 'core/src/fxcodec/jbig2/JBig2_SymbolDict.h')
-rw-r--r-- | core/src/fxcodec/jbig2/JBig2_SymbolDict.h | 15 |
1 files changed, 9 insertions, 6 deletions
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<CJBig2_SymbolDict> 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_ |