diff --git a/tests/fixtures/malformed/circular_ref.pdf b/tests/fixtures/malformed/circular_ref.pdf new file mode 100644 index 0000000..40e93e4 --- /dev/null +++ b/tests/fixtures/malformed/circular_ref.pdf @@ -0,0 +1,36 @@ +%PDF-1.4 +1 0 obj +<< +/Type /Catalog +/Pages 2 0 obj +>> +endobj +2 0 obj +<< +/Type /Pages +/Kids [3 0 R] +/Count 1 +>> +endobj +3 0 obj +<< +/Type /Page +/Parent 2 0 obj +/MediaBox [0 0 612 792] +/Contents 1 0 R +>> +endobj +xref +0 4 +0000000000 65535 f +0000000009 00000 n +0000000058 00000 n +0000000115 00000 n +trailer +<< +/Size 4 +/Root 1 0 obj +>> +startxref +201 +%%EOF diff --git a/tests/fixtures/malformed/corrupt_xref.pdf b/tests/fixtures/malformed/corrupt_xref.pdf new file mode 100644 index 0000000..1648783 --- /dev/null +++ b/tests/fixtures/malformed/corrupt_xref.pdf @@ -0,0 +1,35 @@ +%PDF-1.4 +1 0 obj +<< +/Type /Catalog +/Pages 2 0 obj +>> +endobj +2 0 obj +<< +/Type /Pages +/Kids [3 0 R] +/Count 1 +>> +endobj +3 0 obj +<< +/Type /Page +/Parent 2 0 obj +>> +endobj +xref +INVALID DATA HERE +0 4 +0000000000 65535 f +0000000009 00000 n +0000000058 00000 n +0000000115 00000 n +trailer +<< +/Size 4 +/Root 1 0 obj +>> +startxref +999999999 +%%EOF diff --git a/tests/fixtures/malformed/empty.pdf b/tests/fixtures/malformed/empty.pdf new file mode 100644 index 0000000..9ab49ee --- /dev/null +++ b/tests/fixtures/malformed/empty.pdf @@ -0,0 +1 @@ +%PDF-1.4 diff --git a/tests/fixtures/malformed/malformed_array.pdf b/tests/fixtures/malformed/malformed_array.pdf new file mode 100644 index 0000000..43393f7 --- /dev/null +++ b/tests/fixtures/malformed/malformed_array.pdf @@ -0,0 +1,2 @@ +%PDF-1.4 +[ /Item1 /Item2 /Item3 diff --git a/tests/fixtures/malformed/malformed_dictionary.pdf b/tests/fixtures/malformed/malformed_dictionary.pdf new file mode 100644 index 0000000..280a7ae --- /dev/null +++ b/tests/fixtures/malformed/malformed_dictionary.pdf @@ -0,0 +1,3 @@ +%PDF-1.4 +<< /UnclosedDictionary +/Key1 /Value1 diff --git a/tests/fixtures/malformed/malformed_hex_string.pdf b/tests/fixtures/malformed/malformed_hex_string.pdf new file mode 100644 index 0000000..3640043 --- /dev/null +++ b/tests/fixtures/malformed/malformed_hex_string.pdf @@ -0,0 +1,7 @@ +%PDF-1.4 +1 0 obj +<< +/Type /Catalog +/Data <48656c6c6f20576f726c6421 +>> +endobj diff --git a/tests/fixtures/malformed/malformed_indirect.pdf b/tests/fixtures/malformed/malformed_indirect.pdf new file mode 100644 index 0000000..c269457 --- /dev/null +++ b/tests/fixtures/malformed/malformed_indirect.pdf @@ -0,0 +1,6 @@ +%PDF-1.4 +9999999999 9999999999 obj +<< +/Type /Catalog +>> +endobj diff --git a/tests/fixtures/malformed/malformed_name.pdf b/tests/fixtures/malformed/malformed_name.pdf new file mode 100644 index 0000000..f669add --- /dev/null +++ b/tests/fixtures/malformed/malformed_name.pdf @@ -0,0 +1,7 @@ +%PDF-1.4 +1 0 obj +<< +/Type#20With#20Hex#20Escapes /Value +/NameWith#InvalidHex +>> +endobj diff --git a/tests/fixtures/malformed/malformed_stream.pdf b/tests/fixtures/malformed/malformed_stream.pdf new file mode 100644 index 0000000..d2c2333 --- /dev/null +++ b/tests/fixtures/malformed/malformed_stream.pdf @@ -0,0 +1,14 @@ +%PDF-1.4 +1 0 obj +<< +/Type /Catalog +/Contents 2 0 R +>> +endobj +2 0 obj +<< +/Length 10 +>> +stream +INVALID STREAM DATA +endobj diff --git a/tests/fixtures/malformed/malformed_string.pdf b/tests/fixtures/malformed/malformed_string.pdf new file mode 100644 index 0000000..2add913 --- /dev/null +++ b/tests/fixtures/malformed/malformed_string.pdf @@ -0,0 +1,7 @@ +%PDF-1.4 +1 0 obj +<< +/Type /Catalog +/Subject (This string has an unclosed parenthesis +>> +endobj diff --git a/tests/fixtures/malformed/overflow_numbers.pdf b/tests/fixtures/malformed/overflow_numbers.pdf new file mode 100644 index 0000000..de4ebda --- /dev/null +++ b/tests/fixtures/malformed/overflow_numbers.pdf @@ -0,0 +1,7 @@ +%PDF-1.4 +1 0 obj +<< +/Int 999999999999999999999999999999 +/Real 999999999999999999999999999999.999 +>> +endobj diff --git a/tests/fixtures/malformed/random_bytes.bin b/tests/fixtures/malformed/random_bytes.bin new file mode 100644 index 0000000..85e1928 --- /dev/null +++ b/tests/fixtures/malformed/random_bytes.bin @@ -0,0 +1,3 @@ +\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f +\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f +\x20\x21\x22\x23\x24\x25\x26\x27\x28\x29\x2a\x2b\x2c\x2d\x2e\x2f diff --git a/tests/fixtures/malformed/stream_bomb.pdf b/tests/fixtures/malformed/stream_bomb.pdf new file mode 100644 index 0000000..13eee4f --- /dev/null +++ b/tests/fixtures/malformed/stream_bomb.pdf @@ -0,0 +1,28 @@ +%PDF-1.4 +1 0 obj +<< +/Type /Catalog +/Pages 2 0 obj +>> +endobj +2 0 obj +<< +/Type /Pages +/Kids [3 0 R] +/Count 1 +>> +endobj +3 0 obj +<< +/Type /Page +/Parent 2 0 obj +/MediaBox [0 0 612 792] +/Contents 4 0 R +>> +endobj +4 0 obj +<< +/Length 50000000 +/Filter /FlateDecode +>> +stream