From 30ef542b6f631f0ffbcd4110857e7c1a304a8a23 Mon Sep 17 00:00:00 2001 From: Henrique Nakashima Date: Tue, 19 Dec 2017 19:49:53 +0000 Subject: Add parameter validation to CPDF_ShadingPattern. Check if the ColorSpace and the Function params are valid for the shading type. Bug: chromium:794990 Change-Id: I022e976e5489a6b325d95ad16eab056235a8944d Reviewed-on: https://pdfium-review.googlesource.com/21450 Commit-Queue: Henrique Nakashima Reviewed-by: Lei Zhang --- core/fpdfapi/page/cpdf_shadingpattern.h | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'core/fpdfapi/page/cpdf_shadingpattern.h') diff --git a/core/fpdfapi/page/cpdf_shadingpattern.h b/core/fpdfapi/page/cpdf_shadingpattern.h index d0fafef0db..17b6e4bb8c 100644 --- a/core/fpdfapi/page/cpdf_shadingpattern.h +++ b/core/fpdfapi/page/cpdf_shadingpattern.h @@ -61,6 +61,12 @@ class CPDF_ShadingPattern : public CPDF_Pattern { } private: + // Constraints in PDF 1.7 spec, 4.6.3 Shading Patterns, pages 308-331. + bool Validate() const; + bool ValidateFunctions(uint32_t nExpectedNumFunctions, + uint32_t nExpectedNumInputs, + uint32_t nExpectedNumOutputs) const; + ShadingType m_ShadingType; bool m_bShadingObj; UnownedPtr m_pShadingObj; -- cgit v1.2.3