diff options
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 { |