diff options
author | Tom Sepez <tsepez@chromium.org> | 2015-01-23 15:05:43 -0800 |
---|---|---|
committer | Tom Sepez <tsepez@chromium.org> | 2015-01-23 15:05:43 -0800 |
commit | e0bbe4aac90e56950f28e322c3d6192c35af5ea0 (patch) | |
tree | 55cc9af3afa38333b13a55810d85cd788e6196f8 /testing/resources | |
parent | af9be4fe77e1067f1cc265de8aae547f6358bc44 (diff) | |
download | pdfium-e0bbe4aac90e56950f28e322c3d6192c35af5ea0.tar.xz |
Fix null crash in CheckTrailer.
We are making checks in the incorrect order. Also adds two test
cases, one for the this crash, and another for the original issue
that motivated the patch.
Original Patch by Bo at https://codereview.chromium.org/866003003/
BUG=450871
R=bo_xu@foxitsoftware.com
Review URL: https://codereview.chromium.org/872563002
Diffstat (limited to 'testing/resources')
-rw-r--r-- | testing/resources/trailer_as_hexstring.in | 29 | ||||
-rw-r--r-- | testing/resources/trailer_as_hexstring.pdf | 35 | ||||
-rw-r--r-- | testing/resources/trailer_unterminated.in | 31 | ||||
-rw-r--r-- | testing/resources/trailer_unterminated.pdf | 38 |
4 files changed, 133 insertions, 0 deletions
diff --git a/testing/resources/trailer_as_hexstring.in b/testing/resources/trailer_as_hexstring.in new file mode 100644 index 0000000000..ec2368fab4 --- /dev/null +++ b/testing/resources/trailer_as_hexstring.in @@ -0,0 +1,29 @@ +{{header}} +{{object 1 0}} << + /Type /Catalog + /Pages 2 0 R + /Names << + /Dests 10 0 R + >> + /Dests 14 0 R +>> +endobj +{{object 2 0}} << + /Type /Pages + /Count 1 + /Kids [ + 3 0 R + ] +>> +endobj +{{object 3 0}} << + /Type /Page + /Parent 2 0 R + /MediaBox [0 0 612 792] +>> +endobj +{{xref}} +% trailer erroneously contains a hex string, not a dictionary. +trailer <0000deadbabe0000> +{{startxref}} +%%EOF diff --git a/testing/resources/trailer_as_hexstring.pdf b/testing/resources/trailer_as_hexstring.pdf new file mode 100644 index 0000000000..5b75a53afa --- /dev/null +++ b/testing/resources/trailer_as_hexstring.pdf @@ -0,0 +1,35 @@ +%PDF-1.7 +% ò¤ô +1 0 obj << + /Type /Catalog + /Pages 2 0 R + /Names << + /Dests 10 0 R + >> + /Dests 14 0 R +>> +endobj +2 0 obj << + /Type /Pages + /Count 1 + /Kids [ + 3 0 R + ] +>> +endobj +3 0 obj << + /Type /Page + /Parent 2 0 R + /MediaBox [0 0 612 792] +>> +endobj +xref +0 4 +0000000000 65536 f +0000000015 00000 n +0000000119 00000 n +0000000190 00000 n +trailer <0000deadbabe0000> +startxref +267 +%%EOF diff --git a/testing/resources/trailer_unterminated.in b/testing/resources/trailer_unterminated.in new file mode 100644 index 0000000000..c0c74b749c --- /dev/null +++ b/testing/resources/trailer_unterminated.in @@ -0,0 +1,31 @@ +{{header}} +{{object 1 0}} << + /Type /Catalog + /Pages 2 0 R + /Names << + /Dests 10 0 R + >> + /Dests 14 0 R +>> +endobj +{{object 2 0}} << + /Type /Pages + /Count 1 + /Kids [ + 3 0 R + ] +>> +endobj +{{object 3 0}} << + /Type /Page + /Parent 2 0 R + /MediaBox [0 0 612 792] +>> +endobj +{{xref}} +% closing angle-brackets not present for trailer dictionary. +trailer << + /Size 6 + /Root 1 0 R +{{startxref}} +%%EOF diff --git a/testing/resources/trailer_unterminated.pdf b/testing/resources/trailer_unterminated.pdf new file mode 100644 index 0000000000..b01ec4b67d --- /dev/null +++ b/testing/resources/trailer_unterminated.pdf @@ -0,0 +1,38 @@ +%PDF-1.7 +% ò¤ô +1 0 obj << + /Type /Catalog + /Pages 2 0 R + /Names << + /Dests 10 0 R + >> + /Dests 14 0 R +>> +endobj +2 0 obj << + /Type /Pages + /Count 1 + /Kids [ + 3 0 R + ] +>> +endobj +3 0 obj << + /Type /Page + /Parent 2 0 R + /MediaBox [0 0 612 792] +>> +endobj +xref +0 4 +0000000000 65536 f +0000000015 00000 n +0000000119 00000 n +0000000190 00000 n +% closing angle-brackets not present for trailer dictionary. +trailer << + /Size 6 + /Root 1 0 R +startxref +267 +%%EOF |