diff --git a/src/core/colorspace.js b/src/core/colorspace.js index 149cdf9840d23..7da5daa9df850 100644 --- a/src/core/colorspace.js +++ b/src/core/colorspace.js @@ -462,7 +462,7 @@ class ColorSpace { case "I": case "Indexed": baseCS = this._parse(cs[1], xref, resources, pdfFunctionFactory); - const hiVal = xref.fetchIfRef(cs[2]) + 1; + const hiVal = Math.max(0, Math.min(xref.fetchIfRef(cs[2]), 255)); const lookup = xref.fetchIfRef(cs[3]); return new IndexedCS(baseCS, hiVal, lookup); case "Separation": @@ -630,9 +630,8 @@ class IndexedCS extends ColorSpace { constructor(base, highVal, lookup) { super("Indexed", 1); this.base = base; - this.highVal = highVal; - const length = base.numComps * highVal; + const length = base.numComps * (highVal + 1); this.lookup = new Uint8Array(length); if (lookup instanceof BaseStream) {