diff options
author | weili <weili@chromium.org> | 2016-10-03 12:10:55 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-10-03 12:10:56 -0700 |
commit | d61f958385be285f3f3897ef3a3f010048608f1c (patch) | |
tree | 446db3b167ede38585cfea3ffe8a5cf414d74ad2 /core/fpdfapi/fpdf_font/cpdf_cidfont.h | |
parent | e5393582a7f5dbb655a97d64531638b302ee684e (diff) | |
download | pdfium-d61f958385be285f3f3897ef3a3f010048608f1c.tar.xz |
Detect resursive loading of type3 font char to avoid infinite loop
The original way of detecting loops was passing a level parameter
through various functions. This missed some cases which also lead
to load type3 font char, for example, FindFont() may call
CheckType3FontMetrics() which may eventually lead to LoadChar().
The new way is to store the char loading depth, and abort when the depth
exceeds the max.
BUG=chromium:651304
Review-Url: https://codereview.chromium.org/2384853002
Diffstat (limited to 'core/fpdfapi/fpdf_font/cpdf_cidfont.h')
-rw-r--r-- | core/fpdfapi/fpdf_font/cpdf_cidfont.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/core/fpdfapi/fpdf_font/cpdf_cidfont.h b/core/fpdfapi/fpdf_font/cpdf_cidfont.h index 2c7df93b64..3e8c042c75 100644 --- a/core/fpdfapi/fpdf_font/cpdf_cidfont.h +++ b/core/fpdfapi/fpdf_font/cpdf_cidfont.h @@ -41,8 +41,8 @@ class CPDF_CIDFont : public CPDF_Font { const CPDF_CIDFont* AsCIDFont() const override; CPDF_CIDFont* AsCIDFont() override; int GlyphFromCharCode(uint32_t charcode, bool* pVertGlyph) override; - int GetCharWidthF(uint32_t charcode, int level = 0) override; - FX_RECT GetCharBBox(uint32_t charcode, int level = 0) override; + int GetCharWidthF(uint32_t charcode) override; + FX_RECT GetCharBBox(uint32_t charcode) override; uint32_t GetNextChar(const FX_CHAR* pString, int nStrLen, int& offset) const override; |