[Libreoffice-commits] core.git: vcl/qa vcl/source
Caolán McNamara
caolanm at redhat.com
Mon Sep 28 01:41:00 PDT 2015
vcl/qa/cppunit/graphicfilter/data/wmf/fail/bitcount-1.wmf |binary
vcl/source/gdi/dibtools.cxx | 14 +++++++++++++-
2 files changed, 13 insertions(+), 1 deletion(-)
New commits:
commit b107353addfe35cc40864b7fb5ff4fee42fff6cf
Author: Caolán McNamara <caolanm at redhat.com>
Date: Mon Sep 28 09:35:23 2015 +0100
wmf spec says that these are only allowed bitcount values
Change-Id: Ia174feec73ee676567a3632d2f88b11c176b6363
diff --git a/vcl/qa/cppunit/graphicfilter/data/wmf/fail/bitcount-1.wmf b/vcl/qa/cppunit/graphicfilter/data/wmf/fail/bitcount-1.wmf
new file mode 100644
index 0000000..2ec8806
Binary files /dev/null and b/vcl/qa/cppunit/graphicfilter/data/wmf/fail/bitcount-1.wmf differ
diff --git a/vcl/source/gdi/dibtools.cxx b/vcl/source/gdi/dibtools.cxx
index bbd2658..ebab16d 100644
--- a/vcl/source/gdi/dibtools.cxx
+++ b/vcl/source/gdi/dibtools.cxx
@@ -267,7 +267,19 @@ bool ImplReadDIBInfoHeader(SvStream& rIStm, DIBV5Header& rHeader, bool& bTopDown
rHeader.nSizeImage = 0;
}
- return( ( rHeader.nPlanes == 1 ) && ( rIStm.GetError() == 0UL ) );
+
+ if (rHeader.nPlanes != 1)
+ return false;
+
+ if (rHeader.nBitCount != 0 && rHeader.nBitCount != 1 &&
+ rHeader.nBitCount != 4 && rHeader.nBitCount != 8 &&
+ rHeader.nBitCount != 16 && rHeader.nBitCount != 24 &&
+ rHeader.nBitCount != 32)
+ {
+ return false;
+ }
+
+ return rIStm.good();
}
bool ImplReadDIBPalette( SvStream& rIStm, BitmapWriteAccess& rAcc, bool bQuad )
More information about the Libreoffice-commits
mailing list