From 1845eec0198200bbdac636057d9e3f62e326e3ac Mon Sep 17 00:00:00 2001 From: Caolán McNamara Date: Sun, 13 Aug 2017 14:40:33 +0100 Subject: ofz#3028: use of uninitialized values MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: I87bf37e4ae559c8057ac34b7d6dea52cf9468540 Reviewed-on: https://gerrit.libreoffice.org/41114 Tested-by: Jenkins Reviewed-by: Caolán McNamara Tested-by: Caolán McNamara --- emfio/source/reader/emfreader.cxx | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'emfio/source') diff --git a/emfio/source/reader/emfreader.cxx b/emfio/source/reader/emfreader.cxx index dc8ffdee523f..54b4a4c04e57 100644 --- a/emfio/source/reader/emfreader.cxx +++ b/emfio/source/reader/emfreader.cxx @@ -1438,17 +1438,17 @@ namespace emfio .ReadInt32( cxDest ) .ReadInt32( cyDest ); - Bitmap aBitmap; - tools::Rectangle aRect( Point( xDest, yDest ), Size( cxDest, cyDest ) ); - - if ( ((SAL_MAX_UINT32 - 14) < cbBitsSrc) - || ((SAL_MAX_UINT32 - 14) - cbBitsSrc < cbBmiSrc ) - ) + if (!mpInputStream->good() || + ((SAL_MAX_UINT32 - 14) < cbBitsSrc) || + ((SAL_MAX_UINT32 - 14) - cbBitsSrc < cbBmiSrc)) { bStatus = false; } else { + Bitmap aBitmap; + tools::Rectangle aRect( Point( xDest, yDest ), Size( cxDest, cyDest ) ); + sal_uInt32 nSize = cbBmiSrc + cbBitsSrc + 14; if ( nSize <= ( mnEndPos - mnStartPos ) ) { @@ -1525,8 +1525,8 @@ namespace emfio // const basegfx::B2DVector aTransVec(aWT * basegfx::B2DVector(aLogFont.lfWidth, aLogFont.lfHeight)); // aLogFont.lfWidth = aTransVec.getX(); // aLogFont.lfHeight = aTransVec.getY(); - - CreateObjectIndexed(nIndex, o3tl::make_unique( aLogFont )); + if (mpInputStream->good()) + CreateObjectIndexed(nIndex, o3tl::make_unique( aLogFont )); } } break; -- cgit