mirror of
https://github.com/mozilla/pdf.js.git
synced 2025-04-22 16:18:08 +02:00
Merge pull request #4897 from CodingFabian/optimize-stream-getCode
Optimization for FlateStream_getCode, making more pdfs parsable.
This commit is contained in:
commit
806aa36aa8
1 changed files with 5 additions and 3 deletions
|
@ -430,10 +430,12 @@ var FlateStream = (function FlateStreamClosure() {
|
|||
var codeSize = this.codeSize;
|
||||
var codeBuf = this.codeBuf;
|
||||
|
||||
var b;
|
||||
while (codeSize < maxLen) {
|
||||
var b;
|
||||
if ((b = str.getByte()) === -1) {
|
||||
error('Bad encoding in flate stream');
|
||||
// premature end of stream. code might however still be valid.
|
||||
// codeSize < codeLen check below guards against incomplete codeVal.
|
||||
break;
|
||||
}
|
||||
codeBuf |= (b << codeSize);
|
||||
codeSize += 8;
|
||||
|
@ -441,7 +443,7 @@ var FlateStream = (function FlateStreamClosure() {
|
|||
var code = codes[codeBuf & ((1 << maxLen) - 1)];
|
||||
var codeLen = code >> 16;
|
||||
var codeVal = code & 0xffff;
|
||||
if (codeSize === 0 || codeSize < codeLen || codeLen === 0) {
|
||||
if (codeLen < 1 || codeSize < codeLen) {
|
||||
error('Bad encoding in flate stream');
|
||||
}
|
||||
this.codeBuf = (codeBuf >> codeLen);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue