diff --git a/src/core/fonts.js b/src/core/fonts.js index 6b0eb40c6382a..8dcda2a20ad51 100644 --- a/src/core/fonts.js +++ b/src/core/fonts.js @@ -2387,7 +2387,7 @@ class Font { } else { for (j = 0; j < n; j++) { b = data[i++]; - stack.push((b << 8) | data[i++]); + stack.push(signedInt16(b, data[i++])); } } } else if (op === 0x2b && !tooComplexToFollowFunctions) { diff --git a/test/pdfs/.gitignore b/test/pdfs/.gitignore index fc0f6e0e8936b..0109958757154 100644 --- a/test/pdfs/.gitignore +++ b/test/pdfs/.gitignore @@ -668,3 +668,4 @@ !issue18694.pdf !issue18693.pdf !bug1918115.pdf +!bug1919513.pdf diff --git a/test/pdfs/bug1919513.pdf b/test/pdfs/bug1919513.pdf new file mode 100755 index 0000000000000..fa1ca32103cfb Binary files /dev/null and b/test/pdfs/bug1919513.pdf differ diff --git a/test/test_manifest.json b/test/test_manifest.json index 8a9359249228e..c2eb47c18d3b9 100644 --- a/test/test_manifest.json +++ b/test/test_manifest.json @@ -10482,5 +10482,13 @@ "rounds": 1, "link": true, "type": "eq" + }, + { + "id": "bug1919513", + "file": "pdfs/bug1919513.pdf", + "md5": "83d1a7fab2c81e632910c334879e7334", + "rounds": 1, + "talos": false, + "type": "eq" } ]