diff --git a/src/core/evaluator.js b/src/core/evaluator.js index b85101336..266800c41 100644 --- a/src/core/evaluator.js +++ b/src/core/evaluator.js @@ -263,8 +263,14 @@ var PartialEvaluator = (function PartialEvaluatorClosure() { groupOptions.isolated = (group.get('I') || false); groupOptions.knockout = (group.get('K') || false); if (group.has('CS')) { - colorSpace = ColorSpace.parse(group.get('CS'), this.xref, resources, - this.pdfFunctionFactory); + colorSpace = group.get('CS'); + if (colorSpace) { + colorSpace = ColorSpace.parse(colorSpace, this.xref, resources, + this.pdfFunctionFactory); + } else { + warn('buildFormXObject - invalid/non-existent Group /CS entry: ' + + group.getRaw('CS')); + } } } diff --git a/test/pdfs/.gitignore b/test/pdfs/.gitignore index ebcd5489c..9e753c24f 100644 --- a/test/pdfs/.gitignore +++ b/test/pdfs/.gitignore @@ -80,6 +80,7 @@ !issue10542_reduced.pdf !issue10665_reduced.pdf !issue11016_reduced.pdf +!issue11045.pdf !bad-PageLabels.pdf !decodeACSuccessive.pdf !filled-background.pdf diff --git a/test/pdfs/issue11045.pdf b/test/pdfs/issue11045.pdf new file mode 100644 index 000000000..e0ec598e2 Binary files /dev/null and b/test/pdfs/issue11045.pdf differ diff --git a/test/test_manifest.json b/test/test_manifest.json index 612975d54..09bc231c6 100644 --- a/test/test_manifest.json +++ b/test/test_manifest.json @@ -2888,6 +2888,13 @@ "rounds": 1, "type": "eq" }, + { "id": "issue11045", + "file": "pdfs/issue11045.pdf", + "md5": "101d4cb649cc006e0f2b14923e8d97d6", + "rounds": 1, + "link": false, + "type": "eq" + }, { "id": "issue4890", "file": "pdfs/issue4890.pdf", "md5": "1666feb4cd26318c2bdbea6a175dce87",