From 8137c0547d89e23ed05c62f79fae67ccacc9878b Mon Sep 17 00:00:00 2001 From: Jonas Jenwald Date: Fri, 22 Jan 2021 12:27:38 +0100 Subject: [PATCH] Fix the `gStateObj` lookup in `TranslatedFont._removeType3ColorOperators` (PR 12718 follow-up) As can be seen in https://github.com/mozilla/pdf.js/blob/2cba29036180b420778bd2c91d21d71bd207c146/src/core/evaluator.js#L986 the `gStateObj` (which is actually an Array despite its name), is wrapped in Array when it's inserted into the OperatorList. Hence we obviously need to take this into account when accessing it in `TranslatedFont._removeType3ColorOperators`; this mistake happened because we don't have any test-cases for this particular code-path as far as I know. --- src/core/evaluator.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/core/evaluator.js b/src/core/evaluator.js index fb0c075ae..df604292b 100644 --- a/src/core/evaluator.js +++ b/src/core/evaluator.js @@ -3683,7 +3683,7 @@ class TranslatedFont { continue; case OPS.setGState: - const gStateObj = operatorList.argsArray[i]; + const [gStateObj] = operatorList.argsArray[i]; let j = 0, jj = gStateObj.length; while (j < jj) {