summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2017-03-17 10:57:03 +0000
committerCaolán McNamara <caolanm@redhat.com>2017-03-17 23:36:41 +0000
commit6e6e54f944a5ebb49e9110bdeff844d00a96c56c (patch)
tree0aa8dd054b3a8129da6ebd281db1af8194896fa0 /vcl
parent2f1045a85970f2fc822f799a9a213fc533b740c2 (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)bin4098 -> 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)bin4098 -> 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)bin8559 -> 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)bin24253 -> 24253 bytes
-rw-r--r--vcl/source/filter/jpeg/jpegc.cxx7
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
index 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
Binary files differ
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
index 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
Binary files differ
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
index 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
Binary files differ
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
index 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
Binary files differ
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));