diff options
author | Bo Xu <bo_xu@foxitsoftware.com> | 2014-12-10 16:00:29 -0800 |
---|---|---|
committer | Bo Xu <bo_xu@foxitsoftware.com> | 2014-12-10 16:00:29 -0800 |
commit | 381b911795bb42295e61976b0df3d7e46b780d02 (patch) | |
tree | 488910e94a18de9dac8945de8ababa01615a4821 /core | |
parent | ca5d7699d2f3a2445592ffd8aee3e758a2a16ac7 (diff) | |
download | pdfium-381b911795bb42295e61976b0df3d7e46b780d02.tar.xz |
Lab colorspace needs to be 3 component
BUG=429134
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/791223002
Diffstat (limited to 'core')
-rw-r--r-- | core/src/fpdfapi/fpdf_page/fpdf_page_colors.cpp | 1 | ||||
-rw-r--r-- | core/src/fpdfapi/fpdf_render/fpdf_render_loadimage.cpp | 4 |
2 files changed, 5 insertions, 0 deletions
diff --git a/core/src/fpdfapi/fpdf_page/fpdf_page_colors.cpp b/core/src/fpdfapi/fpdf_page/fpdf_page_colors.cpp index 5266c1a052..670465673b 100644 --- a/core/src/fpdfapi/fpdf_page/fpdf_page_colors.cpp +++ b/core/src/fpdfapi/fpdf_page/fpdf_page_colors.cpp @@ -456,6 +456,7 @@ FX_BOOL CPDF_LabCS::v_Load(CPDF_Document* pDoc, CPDF_Array* pArray) } void CPDF_LabCS::GetDefaultValue(int iComponent, FX_FLOAT& value, FX_FLOAT& min, FX_FLOAT& max) const { + assert(iComponent < 3); value = 0; if (iComponent == 0) { min = 0; diff --git a/core/src/fpdfapi/fpdf_render/fpdf_render_loadimage.cpp b/core/src/fpdfapi/fpdf_render/fpdf_render_loadimage.cpp index d2910dc1ab..c5a96d67f4 100644 --- a/core/src/fpdfapi/fpdf_render/fpdf_render_loadimage.cpp +++ b/core/src/fpdfapi/fpdf_render/fpdf_render_loadimage.cpp @@ -583,6 +583,10 @@ int CPDF_DIBSource::CreateDecoder() if (m_nComponents != comps) { FX_Free(m_pCompData); m_nComponents = comps; + if (m_Family == PDFCS_LAB && m_nComponents != 3) { + m_pCompData = NULL; + return 0; + } m_pCompData = GetDecodeAndMaskArray(m_bDefaultDecode, m_bColorKey); if (m_pCompData == NULL) { return 0; |