summaryrefslogtreecommitdiff
path: root/vcl/source
diff options
context:
space:
mode:
authorOliver-Rainer Wittmann <orw@apache.org>2014-04-10 08:47:58 +0000
committerOliver-Rainer Wittmann <orw@apache.org>2014-04-10 08:47:58 +0000
commit4d57671f3bdd9628cd21d0991e50a96b10abf63a (patch)
tree2085be5911d1939bdb5ec0993ee3c15fe9f66c13 /vcl/source
parentb85ed2610713a082bf2f17171177695557e86575 (diff)
124639: correct consideration of not provided header offset when checking certain read header data
Notes
Notes: prefer: 9984807f17593b97778fc31824c50706ea2e826c
Diffstat (limited to 'vcl/source')
-rwxr-xr-xvcl/source/gdi/dibtools.cxx11
1 files changed, 7 insertions, 4 deletions
diff --git a/vcl/source/gdi/dibtools.cxx b/vcl/source/gdi/dibtools.cxx
index d4ea127f5c06..503ccf902d5c 100755
--- a/vcl/source/gdi/dibtools.cxx
+++ b/vcl/source/gdi/dibtools.cxx
@@ -615,12 +615,15 @@ bool ImplReadDIBBody( SvStream& rIStm, Bitmap& rBmp, Bitmap* pBmpAlpha, sal_uLon
{
DIBV5Header aHeader;
const sal_uLong nStmPos = rIStm.Tell();
- bool bRet(false);
- bool bTopDown(false);
+ bool bRet( false );
+ bool bTopDown( false );
- if(ImplReadDIBInfoHeader(rIStm, aHeader, bTopDown) && aHeader.nWidth && aHeader.nHeight && aHeader.nBitCount)
+ if ( ImplReadDIBInfoHeader( rIStm, aHeader, bTopDown )
+ && aHeader.nWidth != 0
+ && aHeader.nHeight != 0
+ && aHeader.nBitCount != 0 )
{
- if (aHeader.nSize > nOffset)
+ if ( nOffset > 0 && aHeader.nSize > nOffset )
{
// Header size claims to extend into the image data.
// Looks like an error.