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 12:11:52 +0000 |
commit | dc32feb2548aa557a8be6474986fc636d23c4e06 (patch) | |
tree | 9c5cb5bc294cd50ebfc46c70f2aaa73d15393f0a /filter | |
parent | cdcf212ad77c822c9eb4970645a8697dd0ad6774 (diff) |
exception on div by 0
Change-Id: Id33d6a5e3df5812babd28ebfc65b95ce97219ad3
(cherry picked from commit cf4159e16c13a13d0bedccebb50bb08f1662bc1c)
Reviewed-on: https://gerrit.libreoffice.org/17122
Reviewed-by: David Tardon <dtardon@redhat.com>
Tested-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 852e69b7dd68..4f0e431a5742 100644 --- a/filter/source/graphicfilter/ipict/ipict.cxx +++ b/filter/source/graphicfilter/ipict/ipict.cxx @@ -1837,6 +1837,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; @@ -1929,6 +1930,10 @@ void PictReader::ReadPict( SvStream & rStreamPict, GDIMetaFile & rGDIMetaFile ) pPict->SetNumberFormatInt(nOrigNumberFormat); if (pPict->GetError()) pPict->Seek(nOrigPos); + } catch (...) + { + rStreamPict.SetError(SVSTREAM_FILEFORMAT_ERROR); + } } namespace pict { |