Merge pull request #4897 from CodingFabian/optimize-stream-getCode
Optimization for FlateStream_getCode, making more pdfs parsable.
This commit is contained in:
commit
806aa36aa8
@ -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…
x
Reference in New Issue
Block a user