From 46bed62931ffc9e482525de4525a6e54043c6899 Mon Sep 17 00:00:00 2001 From: Oliver Chang Date: Wed, 11 Nov 2015 16:41:26 -0800 Subject: Merge to XFA: Fix extraction of colour components in CPDF_DIBSource::DownSampleScanline32Bit Previously, if |m_bpc| was < 8 (e.g. 4), this function may still try to access the source components as if |m_bpc| == 8. Even when it fell into the codepath that tried to do the right thing in this case, it was wrong. BUG=554151 TBR=tsepez@chromium.org Committed: https://pdfium.googlesource.com/pdfium/+/9b99615806e358fdb396d1cb162ee2e69c2a20ec Review URL: https://codereview.chromium.org/1433423002 . (cherry picked from commit e21fe98d5b5da7da01503b985b07b90c8e811689) Review URL: https://codereview.chromium.org/1441563002 . --- testing/resources/bug_554151.in | 59 +++++++++++++++++++++++++++++++++ testing/resources/bug_554151.pdf | 70 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 129 insertions(+) create mode 100644 testing/resources/bug_554151.in create mode 100644 testing/resources/bug_554151.pdf (limited to 'testing/resources') diff --git a/testing/resources/bug_554151.in b/testing/resources/bug_554151.in new file mode 100644 index 0000000000..3087159f51 --- /dev/null +++ b/testing/resources/bug_554151.in @@ -0,0 +1,59 @@ +{{header}} + +{{object 1 0}} +<< + /Pages 2 0 R +>> +endobj + +{{object 2 0}} +<< + /Kids [ 3 0 R ] +>> +endobj + +{{object 3 0}} +<< + /Contents 6 0 R + /Resources 5 0 R +>> +endobj + +{{object 6 0}} +<<>> +stream +612 0.0 0.0 104000 0 0 cm +/XBad Do +endstream +endobj + +{{object 5 0}} +<< + /XObject << + /XBad 7 0 R + >> +>> +endobj + +{{object 7 0}} +<< + /Type /XObject + /Subtype /Image + /Width 612 + /Height 104000 + /ColorSpace /DeviceRGB + /BitsPerComponent 4 + /Length 0 + /Decode [1.0] +>> +stream +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +endobj + +{{xref}} +trailer << + /Root 1 0 R + /Size 8 +>> +{{startxref}} +%%EOF diff --git a/testing/resources/bug_554151.pdf b/testing/resources/bug_554151.pdf new file mode 100644 index 0000000000..fa770a7b37 --- /dev/null +++ b/testing/resources/bug_554151.pdf @@ -0,0 +1,70 @@ +%PDF-1.7 +% ò¤ô + +1 0 obj +<< + /Pages 2 0 R +>> +endobj + +2 0 obj +<< + /Kids [ 3 0 R ] +>> +endobj + +3 0 obj +<< + /Contents 6 0 R + /Resources 5 0 R +>> +endobj + +6 0 obj +<<>> +stream +612 0.0 0.0 104000 0 0 cm +/XBad Do +endstream +endobj + +5 0 obj +<< + /XObject << + /XBad 7 0 R + >> +>> +endobj + +7 0 obj +<< + /Type /XObject + /Subtype /Image + /Width 612 + /Height 104000 + /ColorSpace /DeviceRGB + /BitsPerComponent 4 + /Length 0 + /Decode [1.0] +>> +stream +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +endobj + +xref +0 8 +0000000000 65535 f +0000000016 00000 n +0000000053 00000 n +0000000093 00000 n +0000000000 65535 f +0000000225 00000 n +0000000152 00000 n +0000000282 00000 n +trailer << + /Root 1 0 R + /Size 8 +>> +startxref +1370 +%%EOF -- cgit v1.2.3