Merge pull request #18890 from calixteman/clamp_indexedcs_hival
Clamp the hival parameter of Indexed color space to the range [0; 255]
This commit is contained in:
commit
1c0c070847
@ -462,7 +462,7 @@ class ColorSpace {
|
|||||||
case "I":
|
case "I":
|
||||||
case "Indexed":
|
case "Indexed":
|
||||||
baseCS = this._parse(cs[1], xref, resources, pdfFunctionFactory);
|
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]);
|
const lookup = xref.fetchIfRef(cs[3]);
|
||||||
return new IndexedCS(baseCS, hiVal, lookup);
|
return new IndexedCS(baseCS, hiVal, lookup);
|
||||||
case "Separation":
|
case "Separation":
|
||||||
@ -630,9 +630,8 @@ class IndexedCS extends ColorSpace {
|
|||||||
constructor(base, highVal, lookup) {
|
constructor(base, highVal, lookup) {
|
||||||
super("Indexed", 1);
|
super("Indexed", 1);
|
||||||
this.base = base;
|
this.base = base;
|
||||||
this.highVal = highVal;
|
|
||||||
|
|
||||||
const length = base.numComps * highVal;
|
const length = base.numComps * (highVal + 1);
|
||||||
this.lookup = new Uint8Array(length);
|
this.lookup = new Uint8Array(length);
|
||||||
|
|
||||||
if (lookup instanceof BaseStream) {
|
if (lookup instanceof BaseStream) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user