diff options
author | Caolán McNamara <caolanm@redhat.com> | 2017-03-17 10:57:03 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2017-03-17 23:36:41 +0000 |
commit | 6e6e54f944a5ebb49e9110bdeff844d00a96c56c (patch) | |
tree | 0aa8dd054b3a8129da6ebd281db1af8194896fa0 /vcl | |
parent | 2f1045a85970f2fc822f799a9a213fc533b740c2 (diff) |
ofz#889 readjust jpeg import
Change-Id: I4e25db429b8dee9265ab2ad468c21cc34a50df6c
Reviewed-on: https://gerrit.libreoffice.org/35325
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'vcl')
-rw-r--r-- | vcl/qa/cppunit/graphicfilter/data/jpg/pass/CVE-2004-0200-1.jpg (renamed from vcl/qa/cppunit/graphicfilter/data/jpg/fail/CVE-2004-0200-1.jpg) | bin | 4098 -> 4098 bytes | |||
-rw-r--r-- | vcl/qa/cppunit/graphicfilter/data/jpg/pass/CVE-2004-0200-4.jpg (renamed from vcl/qa/cppunit/graphicfilter/data/jpg/fail/CVE-2004-0200-4.jpg) | bin | 4098 -> 4098 bytes | |||
-rw-r--r-- | vcl/qa/cppunit/graphicfilter/data/jpg/pass/EDB-24743-2.jpg (renamed from vcl/qa/cppunit/graphicfilter/data/jpg/fail/EDB-24743-2.jpg) | bin | 8559 -> 8559 bytes | |||
-rw-r--r-- | vcl/qa/cppunit/graphicfilter/data/jpg/pass/EDB-24743-3.jpg (renamed from vcl/qa/cppunit/graphicfilter/data/jpg/fail/EDB-24743-3.jpg) | bin | 24253 -> 24253 bytes | |||
-rw-r--r-- | vcl/source/filter/jpeg/jpegc.cxx | 7 |
5 files changed, 4 insertions, 3 deletions
diff --git a/vcl/qa/cppunit/graphicfilter/data/jpg/fail/CVE-2004-0200-1.jpg b/vcl/qa/cppunit/graphicfilter/data/jpg/pass/CVE-2004-0200-1.jpg Binary files differindex 3d9481aca908..3d9481aca908 100644 --- a/vcl/qa/cppunit/graphicfilter/data/jpg/fail/CVE-2004-0200-1.jpg +++ b/vcl/qa/cppunit/graphicfilter/data/jpg/pass/CVE-2004-0200-1.jpg diff --git a/vcl/qa/cppunit/graphicfilter/data/jpg/fail/CVE-2004-0200-4.jpg b/vcl/qa/cppunit/graphicfilter/data/jpg/pass/CVE-2004-0200-4.jpg Binary files differindex 9d26db0050bb..9d26db0050bb 100644 --- a/vcl/qa/cppunit/graphicfilter/data/jpg/fail/CVE-2004-0200-4.jpg +++ b/vcl/qa/cppunit/graphicfilter/data/jpg/pass/CVE-2004-0200-4.jpg diff --git a/vcl/qa/cppunit/graphicfilter/data/jpg/fail/EDB-24743-2.jpg b/vcl/qa/cppunit/graphicfilter/data/jpg/pass/EDB-24743-2.jpg Binary files differindex 01e7fe16f413..01e7fe16f413 100644 --- a/vcl/qa/cppunit/graphicfilter/data/jpg/fail/EDB-24743-2.jpg +++ b/vcl/qa/cppunit/graphicfilter/data/jpg/pass/EDB-24743-2.jpg diff --git a/vcl/qa/cppunit/graphicfilter/data/jpg/fail/EDB-24743-3.jpg b/vcl/qa/cppunit/graphicfilter/data/jpg/pass/EDB-24743-3.jpg Binary files differindex 4753ed8db1c3..4753ed8db1c3 100644 --- a/vcl/qa/cppunit/graphicfilter/data/jpg/fail/EDB-24743-3.jpg +++ b/vcl/qa/cppunit/graphicfilter/data/jpg/pass/EDB-24743-3.jpg diff --git a/vcl/source/filter/jpeg/jpegc.cxx b/vcl/source/filter/jpeg/jpegc.cxx index 8d9b1626022d..e73065e668f0 100644 --- a/vcl/source/filter/jpeg/jpegc.cxx +++ b/vcl/source/filter/jpeg/jpegc.cxx @@ -132,7 +132,7 @@ void ReadJPEG( JPEGReader* pJPEGReader, void* pInputStream, long* pLines, } } - jpeg_start_decompress( &cinfo ); + jpeg_calc_output_dimensions(&cinfo); long nWidth = cinfo.output_width; long nHeight = cinfo.output_height; @@ -161,7 +161,6 @@ void ReadJPEG( JPEGReader* pJPEGReader, void* pInputStream, long* pLines, J_COLOR_SPACE best_out_color_space = JCS_RGB; ScanlineFormat eScanlineFormat = ScanlineFormat::N24BitTcRgb; ScanlineFormat eFinalFormat = pAccess->GetScanlineFormat(); - if (eFinalFormat == ScanlineFormat::N32BitTcBgra) { best_out_color_space = JCS_EXT_BGRA; @@ -190,10 +189,12 @@ void ReadJPEG( JPEGReader* pJPEGReader, void* pInputStream, long* pLines, cinfo.out_color_space != JCS_GRAYSCALE && cinfo.out_color_space != best_out_color_space) { - SAL_WARN("vcl.filter", "jpg with unknown out color space, forcing to :" << best_out_color_space); + SAL_WARN("vcl.filter", "jpg with unknown out color space, forcing to :" << best_out_color_space << " gray "); cinfo.out_color_space = best_out_color_space; } + jpeg_start_decompress(&cinfo); + JSAMPLE* aRangeLimit = cinfo.sample_range_limit; std::vector<sal_uInt8> pScanLineBuffer(nWidth * (bGray ? 1 : nPixelSize)); |