Clamp the hival parameter of Indexed color space to the range [0; 255]
Since this value is used to allocate an array, it makes sense to avoid to use too much memory. From the specs, this value must be in the range [0; 255] (see section 8.6.6.3). This patch removes the unused property 'highVal'.
This commit is contained in:
parent
c3af34271e
commit
4dea773c5b
@ -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) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user