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 similarity index 100% rename from vcl/qa/cppunit/graphicfilter/data/jpg/fail/CVE-2004-0200-1.jpg rename to 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 similarity index 100% rename from vcl/qa/cppunit/graphicfilter/data/jpg/fail/CVE-2004-0200-4.jpg rename to 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 similarity index 100% rename from vcl/qa/cppunit/graphicfilter/data/jpg/fail/EDB-24743-2.jpg rename to 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 similarity index 100% rename from vcl/qa/cppunit/graphicfilter/data/jpg/fail/EDB-24743-3.jpg rename to 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 pScanLineBuffer(nWidth * (bGray ? 1 : nPixelSize));