summaryrefslogtreecommitdiff
path: root/testing
diff options
context:
space:
mode:
authorWei Li <weili@chromium.org>2016-01-05 12:34:00 -0800
committerWei Li <weili@chromium.org>2016-01-05 12:34:00 -0800
commitaab8f462ea3368ed4825172231131e1a10db978d (patch)
tree0bc0d0ec6a7b2f6357174a56ca5e43f6c5bfce94 /testing
parented34cdf99d5a4b33e57f81f9244a311f6fb86db3 (diff)
downloadpdfium-aab8f462ea3368ed4825172231131e1a10db978d.tar.xz
Exit infinite loops for cross reference loading
When cross reference sections form a loop, our code will enter an infinite loop. Add detection and exit code for v4 cross reference loading. V5 loading was done previously. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1558093002 .
Diffstat (limited to 'testing')
-rw-r--r--testing/resources/bug_xrefv4_loop.pdf45
1 files changed, 45 insertions, 0 deletions
diff --git a/testing/resources/bug_xrefv4_loop.pdf b/testing/resources/bug_xrefv4_loop.pdf
new file mode 100644
index 0000000000..c1169773f7
--- /dev/null
+++ b/testing/resources/bug_xrefv4_loop.pdf
@@ -0,0 +1,45 @@
+%PDF-1.7
+% ò¤ô
+1 0 obj <<
+ /Type /Catalog
+ /Pages 2 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 2
+0000000000 65535 f
+0000000015 00000 n
+trailer <<
+ /Prev 346
+>>
+xref
+2 1
+0000000068 00000 n
+trailer <<
+ /Prev 216
+>>
+xref
+3 1
+0000000139 00000 n
+trailer <<
+ /Size 4
+ /Prev 291
+ /Root 1 0 R
+>>
+startxref
+346
+%%EOF