diff options
author | Caolán McNamara <caolanm@redhat.com> | 2017-10-31 09:02:24 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2017-11-01 00:25:29 +0100 |
commit | aab1018339fba9e6c618a17dfb2a01464555c4dc (patch) | |
tree | df6e7d90aed15db275226fe3ddc711894c5829de /emfio/source | |
parent | b3788aeede87fdbe8566d223bca80ef1a5d48845 (diff) |
ofz#3939 Integer-overflow
Change-Id: Ic35cf6dd77d536ba3ab486b1c752d81037fe7cae
Reviewed-on: https://gerrit.libreoffice.org/44103
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'emfio/source')
-rw-r--r-- | emfio/source/reader/emfreader.cxx | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/emfio/source/reader/emfreader.cxx b/emfio/source/reader/emfreader.cxx index cfcb6e3feea5..bcd8b7a83855 100644 --- a/emfio/source/reader/emfreader.cxx +++ b/emfio/source/reader/emfreader.cxx @@ -1413,14 +1413,17 @@ namespace emfio ReadDIB(aBitmap, aTmp, true); // test if it is sensible to crop - if ( ( cxSrc > 0 ) && ( cySrc > 0 ) && - ( xSrc >= 0 ) && ( ySrc >= 0 ) && - ( xSrc + cxSrc <= aBitmap.GetSizePixel().Width() ) && - ( ySrc + cySrc <= aBitmap.GetSizePixel().Height() ) ) + if ( (cxSrc > 0) && (cySrc > 0) && + (xSrc >= 0) && (ySrc >= 0) && + (aBitmap.GetSizePixel().Width() >= cxSrc) && + (xSrc <= aBitmap.GetSizePixel().Width() - cxSrc) && + (aBitmap.GetSizePixel().Height() >= cySrc) && + (ySrc <= aBitmap.GetSizePixel().Height() - cySrc) ) { tools::Rectangle aCropRect( Point( xSrc, ySrc ), Size( cxSrc, cySrc ) ); aBitmap.Crop( aCropRect ); } + maBmpSaveList.emplace_back(new BSaveStruct(aBitmap, aRect, dwRop)); } } |