[Libreoffice-commits] core.git: filter/qa filter/source
Caolán McNamara
caolanm at redhat.com
Mon Nov 17 07:25:04 PST 2014
filter/qa/cppunit/data/met/fail/afl-divide-zero-1.met |binary
filter/source/graphicfilter/ios2met/ios2met.cxx | 9 ++++++++-
2 files changed, 8 insertions(+), 1 deletion(-)
New commits:
commit eb6d27321d2d5f9d069c4a3cbcc9bc6e5b4c98ab
Author: Caolán McNamara <caolanm at redhat.com>
Date: Mon Nov 17 15:22:08 2014 +0000
afl: divide-by-zero
Change-Id: Ided311873f654c0f40dae57c8876a6412ee97d3e
diff --git a/filter/qa/cppunit/data/met/fail/afl-divide-zero-1.met b/filter/qa/cppunit/data/met/fail/afl-divide-zero-1.met
new file mode 100644
index 0000000..62ccf48
Binary files /dev/null and b/filter/qa/cppunit/data/met/fail/afl-divide-zero-1.met differ
diff --git a/filter/source/graphicfilter/ios2met/ios2met.cxx b/filter/source/graphicfilter/ios2met/ios2met.cxx
index 5f1d17f..aa29380 100644
--- a/filter/source/graphicfilter/ios2met/ios2met.cxx
+++ b/filter/source/graphicfilter/ios2met/ios2met.cxx
@@ -2357,7 +2357,14 @@ void OS2METReader::ReadField(sal_uInt16 nFieldType, sal_uInt16 nFieldSize)
pOS2MET->SeekRel(4);
nStartIndex=ReadBigEndianWord();
pOS2MET->SeekRel(3);
- pOS2MET->ReadUChar( nbyte ); nBytesPerCol=((sal_uInt16)nbyte) & 0x00ff;
+ pOS2MET->ReadUChar( nbyte );
+ nBytesPerCol=((sal_uInt16)nbyte) & 0x00ff;
+ if (nBytesPerCol == 0)
+ {
+ pOS2MET->SetError(SVSTREAM_FILEFORMAT_ERROR);
+ ErrorCode=4;
+ break;
+ }
nEndIndex=nStartIndex+(nElemLen-11)/nBytesPerCol;
for (i=nStartIndex; i<nEndIndex; i++) {
if (nBytesPerCol > 3) pOS2MET->SeekRel(nBytesPerCol-3);
More information about the Libreoffice-commits
mailing list