diff options
author | Lei Zhang <thestig@chromium.org> | 2015-10-05 17:09:11 -0700 |
---|---|---|
committer | Lei Zhang <thestig@chromium.org> | 2015-10-05 17:09:11 -0700 |
commit | 1b1dd8a6907f4631044b1c03698170853af594a9 (patch) | |
tree | f9cc0978ba7ebfc31835e62aed983c9c36d50c31 /core/src/fxcodec/jbig2/JBig2_SymbolDict.h | |
parent | d607f5b9fc4c89ea480d882de6df80e6a6338b0b (diff) | |
download | pdfium-1b1dd8a6907f4631044b1c03698170853af594a9.tar.xz |
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 .
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_ |