diff options
author | Oliver Chang <ochang@chromium.org> | 2015-11-11 15:46:24 -0800 |
---|---|---|
committer | Oliver Chang <ochang@chromium.org> | 2015-11-11 15:46:24 -0800 |
commit | 9b99615806e358fdb396d1cb162ee2e69c2a20ec (patch) | |
tree | 3031d7080a9616dfa6d8d4d997e72eaed4ab1b1a /testing | |
parent | f20a34c0f2dfca49f735a0f11147254c26831e7c (diff) | |
download | pdfium-9b99615806e358fdb396d1cb162ee2e69c2a20ec.tar.xz |
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
R=tsepez@chromium.org, thestig@chromium.org
Review URL: https://codereview.chromium.org/1433423002 .
Diffstat (limited to 'testing')
-rw-r--r-- | testing/resources/bug_554151.in | 59 | ||||
-rw-r--r-- | testing/resources/bug_554151.pdf | 70 |
2 files changed, 129 insertions, 0 deletions
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 |