Skip to content

Commit

Permalink
Merge pull request #10615 from Snuffleupagus/corrupt-inline-ASCII85De…
Browse files Browse the repository at this point in the history
…code

Handle corrupt ASCII85Decode inline images with whitespace "inside" of the EOD marker (issue 10614)
  • Loading branch information
timvandermeij committed Mar 8, 2019
2 parents e1b01a6 + 3ce8fe7 commit 8b149b8
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 5 deletions.
18 changes: 13 additions & 5 deletions src/core/parser.js
Original file line number Diff line number Diff line change
Expand Up @@ -336,14 +336,22 @@ var Parser = (function ParserClosure() {
* Find the EOD (end-of-data) marker '~>' (i.e. TILDE + GT) of the stream.
* @returns {number} The inline stream length.
*/
findASCII85DecodeInlineStreamEnd:
function Parser_findASCII85DecodeInlineStreamEnd(stream) {
findASCII85DecodeInlineStreamEnd(stream) {
var TILDE = 0x7E, GT = 0x3E;
var startPos = stream.pos, ch, length;
while ((ch = stream.getByte()) !== -1) {
if (ch === TILDE && stream.peekByte() === GT) {
stream.skip();
break;
if (ch === TILDE) {
ch = stream.peekByte();
// Handle corrupt PDF documents which contains whitespace "inside" of
// the EOD marker (fixes issue10614.pdf).
while (isSpace(ch)) {
stream.skip();
ch = stream.peekByte();
}
if (ch === GT) {
stream.skip();
break;
}
}
}
length = stream.pos - startPos;
Expand Down
1 change: 1 addition & 0 deletions test/pdfs/issue10614.pdf.link
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
https://github.com/mozilla/pdf.js/files/2927954/FOX.ALEXANDER.F.VS.FOX.BARBARA.E.2015-004684-FC-04.Doc-46-Memorandum-of-Law.Fla.11th.Cir.Ct.May.31.2016.pdf
8 changes: 8 additions & 0 deletions test/test_manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -1465,6 +1465,14 @@
"link": false,
"type": "text"
},
{ "id": "issue10614",
"file": "pdfs/issue10614.pdf",
"md5": "c41da60ce9af100cb78e1c2a6ba18232",
"rounds": 1,
"link": true,
"lastPage": 1,
"type": "eq"
},
{ "id": "issue6071",
"file": "pdfs/issue6071.pdf",
"md5": "2e08526d8e7c9ba4269fc12ef488d3eb",
Expand Down

0 comments on commit 8b149b8

Please sign in to comment.