mirror of
https://github.com/mozilla/pdf.js.git
synced 2025-04-24 09:08:07 +02:00
Add validation for callsubr and callgsubr for type 2 charstrings.
This commit is contained in:
parent
4e9ea35eee
commit
eb7c36beb6
6 changed files with 235 additions and 115 deletions
2
test/pdfs/.gitignore
vendored
2
test/pdfs/.gitignore
vendored
|
@ -26,6 +26,7 @@
|
|||
!issue5564_reduced.pdf
|
||||
!canvas.pdf
|
||||
!complex_ttf_font.pdf
|
||||
!issue3694_reduced.pdf
|
||||
!extgstate.pdf
|
||||
!rotation.pdf
|
||||
!simpletype3font.pdf
|
||||
|
@ -38,6 +39,7 @@
|
|||
!close-path-bug.pdf
|
||||
!issue6019.pdf
|
||||
!issue6621.pdf
|
||||
!issue6286.pdf
|
||||
!issue1055r.pdf
|
||||
!issue1293r.pdf
|
||||
!issue1655r.pdf
|
||||
|
|
BIN
test/pdfs/issue3694_reduced.pdf
Normal file
BIN
test/pdfs/issue3694_reduced.pdf
Normal file
Binary file not shown.
BIN
test/pdfs/issue6286.pdf
Normal file
BIN
test/pdfs/issue6286.pdf
Normal file
Binary file not shown.
|
@ -376,6 +376,18 @@
|
|||
"rounds": 1,
|
||||
"type": "load"
|
||||
},
|
||||
{ "id": "issue6286",
|
||||
"file": "pdfs/issue6286.pdf",
|
||||
"md5": "d13fd1b98fb1c9980356314fd1d3a91b",
|
||||
"rounds": 1,
|
||||
"type": "eq"
|
||||
},
|
||||
{ "id": "issue3694_reduced",
|
||||
"file": "pdfs/issue_3694_reduced.pdf",
|
||||
"md5": "c1438c7bad12d70c4cd684f8ce04448f",
|
||||
"rounds": 1,
|
||||
"type": "eq"
|
||||
},
|
||||
{ "id": "bug847420",
|
||||
"file": "pdfs/bug847420.pdf",
|
||||
"md5": "0decd96fec4ef858c2c663a6de24e887",
|
||||
|
|
|
@ -101,7 +101,8 @@ describe('font', function() {
|
|||
14 // endchar
|
||||
]);
|
||||
parser.bytes = bytes;
|
||||
var charStrings = parser.parseCharStrings(0).charStrings;
|
||||
var charStringsIndex = parser.parseIndex(0).obj;
|
||||
var charStrings = parser.parseCharStrings(charStringsIndex).charStrings;
|
||||
expect(charStrings.count).toEqual(1);
|
||||
// shoudn't be sanitized
|
||||
expect(charStrings.get(0).length).toEqual(38);
|
||||
|
@ -116,7 +117,8 @@ describe('font', function() {
|
|||
0, // offset[0]
|
||||
237, 247, 22, 247, 72, 204, 247, 86, 14]);
|
||||
parser.bytes = bytes;
|
||||
var result = parser.parseCharStrings(0);
|
||||
var charStringsIndex = parser.parseIndex(0).obj;
|
||||
var result = parser.parseCharStrings(charStringsIndex);
|
||||
expect(result.charStrings.count).toEqual(1);
|
||||
expect(result.charStrings.get(0).length).toEqual(1);
|
||||
expect(result.seacs.length).toEqual(1);
|
||||
|
@ -139,7 +141,8 @@ describe('font', function() {
|
|||
0, // offset[0]
|
||||
237, 247, 22, 247, 72, 204, 247, 86, 14]);
|
||||
parser.bytes = bytes;
|
||||
var result = parser.parseCharStrings(0);
|
||||
var charStringsIndex = parser.parseIndex(0).obj;
|
||||
var result = parser.parseCharStrings(charStringsIndex);
|
||||
expect(result.charStrings.count).toEqual(1);
|
||||
expect(result.charStrings.get(0).length).toEqual(9);
|
||||
expect(result.seacs.length).toEqual(0);
|
||||
|
@ -154,7 +157,8 @@ describe('font', function() {
|
|||
0, // offset[0]
|
||||
14]);
|
||||
parser.bytes = bytes;
|
||||
var result = parser.parseCharStrings(0);
|
||||
var charStringsIndex = parser.parseIndex(0).obj;
|
||||
var result = parser.parseCharStrings(charStringsIndex);
|
||||
expect(result.charStrings.count).toEqual(1);
|
||||
expect(result.charStrings.get(0)[0]).toEqual(14);
|
||||
expect(result.seacs.length).toEqual(0);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue