mirror of
https://github.com/mozilla/pdf.js.git
synced 2025-04-25 01:28:06 +02:00
Prevent infinite loop in CFFParser_parseHeader
This commit is contained in:
parent
1a6e103c35
commit
5f021b067c
1 changed files with 8 additions and 3 deletions
|
@ -5628,12 +5628,17 @@ var CFFParser = (function CFFParserClosure() {
|
|||
},
|
||||
parseHeader: function CFFParser_parseHeader() {
|
||||
var bytes = this.bytes;
|
||||
var bytesLength = bytes.length;
|
||||
var offset = 0;
|
||||
|
||||
while (bytes[offset] != 1)
|
||||
// Prevent an infinite loop, by checking that the offset is within the
|
||||
// bounds of the bytes array. Necessary in empty, or invalid, font files.
|
||||
while (offset < bytesLength && bytes[offset] !== 1) {
|
||||
++offset;
|
||||
|
||||
if (offset !== 0) {
|
||||
}
|
||||
if (offset >= bytesLength) {
|
||||
error('Invalid CFF header');
|
||||
} else if (offset !== 0) {
|
||||
info('cff data is shifted');
|
||||
bytes = bytes.subarray(offset);
|
||||
this.bytes = bytes;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue