diff options
author | Caolán McNamara <caolanm@redhat.com> | 2017-03-24 10:46:31 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2017-03-24 11:24:32 +0000 |
commit | d776eeab752fd313226a7570c3ed4d8e964b4406 (patch) | |
tree | ba3b4976a2d75d5a31222a96cb1dea412528ba13 | |
parent | 27bcd3137e522e1e5c507a4c754a448f8fe08846 (diff) |
ofz#937 sanity check claimed record length
Change-Id: Ic0b9b23764bd7533adbc746419d38da8ab7ce704
-rw-r--r-- | vcl/qa/cppunit/graphicfilter/data/svm/fail/mapmode-1.svm (renamed from vcl/qa/cppunit/graphicfilter/data/svm/pass/mapmode-1.svm) | bin | 152 -> 152 bytes | |||
-rw-r--r-- | vcl/qa/cppunit/graphicfilter/data/svm/fail/mapmode-2.svm (renamed from vcl/qa/cppunit/graphicfilter/data/svm/pass/mapmode-2.svm) | bin | 110 -> 110 bytes | |||
-rw-r--r-- | vcl/qa/cppunit/graphicfilter/data/svm/fail/mapmode-3.svm (renamed from vcl/qa/cppunit/graphicfilter/data/svm/pass/mapmode-3.svm) | bin | 142 -> 142 bytes | |||
-rw-r--r-- | vcl/source/gdi/svmconverter.cxx | 6 |
4 files changed, 5 insertions, 1 deletions
diff --git a/vcl/qa/cppunit/graphicfilter/data/svm/pass/mapmode-1.svm b/vcl/qa/cppunit/graphicfilter/data/svm/fail/mapmode-1.svm Binary files differindex 2fce465f7653..2fce465f7653 100644 --- a/vcl/qa/cppunit/graphicfilter/data/svm/pass/mapmode-1.svm +++ b/vcl/qa/cppunit/graphicfilter/data/svm/fail/mapmode-1.svm diff --git a/vcl/qa/cppunit/graphicfilter/data/svm/pass/mapmode-2.svm b/vcl/qa/cppunit/graphicfilter/data/svm/fail/mapmode-2.svm Binary files differindex 1b3cd14167cf..1b3cd14167cf 100644 --- a/vcl/qa/cppunit/graphicfilter/data/svm/pass/mapmode-2.svm +++ b/vcl/qa/cppunit/graphicfilter/data/svm/fail/mapmode-2.svm diff --git a/vcl/qa/cppunit/graphicfilter/data/svm/pass/mapmode-3.svm b/vcl/qa/cppunit/graphicfilter/data/svm/fail/mapmode-3.svm Binary files differindex b4afeb09f2d8..b4afeb09f2d8 100644 --- a/vcl/qa/cppunit/graphicfilter/data/svm/pass/mapmode-3.svm +++ b/vcl/qa/cppunit/graphicfilter/data/svm/fail/mapmode-3.svm diff --git a/vcl/source/gdi/svmconverter.cxx b/vcl/source/gdi/svmconverter.cxx index 9c56e6edf487..cb0f87ac387e 100644 --- a/vcl/source/gdi/svmconverter.cxx +++ b/vcl/source/gdi/svmconverter.cxx @@ -1024,7 +1024,11 @@ void SVMConverter::ImplConvertFromSVM1( SvStream& rIStm, GDIMetaFile& rMtf ) ImplReadUnicodeComment( nUnicodeCommentStreamPos, rIStm, aStr ); rMtf.AddAction( new MetaTextArrayAction( aPt, aStr, pDXAry.get(), nIndex, nLen ) ); } - rIStm.Seek( nActBegin + nActionSize ); + + if (nActionSize < 24) + rIStm.SetError(SVSTREAM_FILEFORMAT_ERROR); + else + rIStm.Seek(nActBegin + nActionSize); } break; |