You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openoffice.apache.org by or...@apache.org on 2014/04/10 10:47:58 UTC
svn commit: r1586242 - /openoffice/trunk/main/vcl/source/gdi/dibtools.cxx
Author: orw
Date: Thu Apr 10 08:47:58 2014
New Revision: 1586242
URL: http://svn.apache.org/r1586242
Log:
124639: correct consideration of not provided header offset when checking certain read header data
Modified:
openoffice/trunk/main/vcl/source/gdi/dibtools.cxx
Modified: openoffice/trunk/main/vcl/source/gdi/dibtools.cxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/vcl/source/gdi/dibtools.cxx?rev=1586242&r1=1586241&r2=1586242&view=diff
==============================================================================
--- openoffice/trunk/main/vcl/source/gdi/dibtools.cxx (original)
+++ openoffice/trunk/main/vcl/source/gdi/dibtools.cxx Thu Apr 10 08:47:58 2014
@@ -613,14 +613,17 @@ bool ImplReadDIBBits(SvStream& rIStm, DI
bool ImplReadDIBBody( SvStream& rIStm, Bitmap& rBmp, Bitmap* pBmpAlpha, sal_uLong nOffset )
{
- DIBV5Header aHeader;
- const sal_uLong nStmPos = rIStm.Tell();
- bool bRet(false);
- bool bTopDown(false);
-
- if(ImplReadDIBInfoHeader(rIStm, aHeader, bTopDown) && aHeader.nWidth && aHeader.nHeight && aHeader.nBitCount)
- {
- if (aHeader.nSize > nOffset)
+ DIBV5Header aHeader;
+ const sal_uLong nStmPos = rIStm.Tell();
+ bool bRet( false );
+ bool bTopDown( false );
+
+ if ( ImplReadDIBInfoHeader( rIStm, aHeader, bTopDown )
+ && aHeader.nWidth != 0
+ && aHeader.nHeight != 0
+ && aHeader.nBitCount != 0 )
+ {
+ if ( nOffset > 0 && aHeader.nSize > nOffset )
{
// Header size claims to extend into the image data.
// Looks like an error.