diff --git a/src/core/jbig2.js b/src/core/jbig2.js index df689d963..e31bd1f5e 100644 --- a/src/core/jbig2.js +++ b/src/core/jbig2.js @@ -1165,15 +1165,15 @@ function readSegmentHeader(data, start) { let referredToCount = (referredFlags >> 5) & 7; const retainBits = [referredFlags & 31]; let position = start + 6; - if (referredFlags === 7) { + if (referredToCount === 7) { referredToCount = readUint32(data, position - 1) & 0x1fffffff; position += 3; - let bytes = (referredToCount + 7) >> 3; + let bytes = (referredToCount + 8) >> 3; retainBits[0] = data[position++]; while (--bytes > 0) { retainBits.push(data[position++]); } - } else if (referredFlags === 5 || referredFlags === 6) { + } else if (referredToCount === 5 || referredToCount === 6) { throw new Jbig2Error("invalid referred-to flags"); }