diff options
author | Caolán McNamara <caolanm@redhat.com> | 2015-07-16 10:01:24 +0100 |
---|---|---|
committer | David Tardon <dtardon@redhat.com> | 2015-07-17 11:06:51 +0000 |
commit | e5aae767d634ba7efc8a5ecf2889678176babeb8 (patch) | |
tree | c063f01cc9d23745ac00c018774370c0a761af06 /filter | |
parent | 927c320c2e8b5c8670e94f989b9fc09a5aa73437 (diff) |
exception on div by 0
Change-Id: Id33d6a5e3df5812babd28ebfc65b95ce97219ad3
(cherry picked from commit cf4159e16c13a13d0bedccebb50bb08f1662bc1c)
Reviewed-on: https://gerrit.libreoffice.org/17121
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: David Tardon <dtardon@redhat.com>
Diffstat (limited to 'filter')
-rw-r--r-- | filter/qa/cppunit/data/pict/fail/exception-1.pct | bin | 0 -> 11086 bytes | |||
-rw-r--r-- | filter/source/graphicfilter/ipict/ipict.cxx | 5 |
2 files changed, 5 insertions, 0 deletions
diff --git a/filter/qa/cppunit/data/pict/fail/exception-1.pct b/filter/qa/cppunit/data/pict/fail/exception-1.pct Binary files differnew file mode 100644 index 000000000000..f9cd85a4aece --- /dev/null +++ b/filter/qa/cppunit/data/pict/fail/exception-1.pct diff --git a/filter/source/graphicfilter/ipict/ipict.cxx b/filter/source/graphicfilter/ipict/ipict.cxx index 6621eddd3c60..4f0c39b93e8a 100644 --- a/filter/source/graphicfilter/ipict/ipict.cxx +++ b/filter/source/graphicfilter/ipict/ipict.cxx @@ -1859,6 +1859,7 @@ sal_uLong PictReader::ReadData(sal_uInt16 nOpcode) void PictReader::ReadPict( SvStream & rStreamPict, GDIMetaFile & rGDIMetaFile ) { + try { sal_uInt16 nOpcode; sal_uInt8 nOneByteOpcode; sal_uLong nSize, nPercent, nLastPercent; @@ -1950,6 +1951,10 @@ void PictReader::ReadPict( SvStream & rStreamPict, GDIMetaFile & rGDIMetaFile ) pPict->SetEndian(nOrigNumberFormat); if (pPict->GetError()) pPict->Seek(nOrigPos); + } catch (...) + { + rStreamPict.SetError(SVSTREAM_FILEFORMAT_ERROR); + } } namespace pict { |