ofz#496349582 Integer-overflow
Change-Id: I537f96838f402f20b537440a5cf94967814a64ce Reviewed-on: https://gerrit.collaboraoffice.com/c/core/+/1052 Tested-by: Jenkins CPCI <releng@collaboraoffice.com> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> (cherry picked from commit 4c4f052a5f3700c332ede70bc71dda3529266ba5) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/204398 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org> Tested-by: Jenkins
This commit is contained in:
committed by
Xisco Fauli
parent
1a8bfc4407
commit
cc32ab7342
@@ -1490,6 +1490,8 @@ namespace emfio
|
||||
// inch
|
||||
mpInputStream->ReadUInt16( mnUnitsPerInch );
|
||||
|
||||
SAL_WARN_IF(!mnUnitsPerInch, "emfio", "Invalid WMF: mnUnitsPerInch is 0");
|
||||
|
||||
// reserved
|
||||
mpInputStream->SeekRel( 4 );
|
||||
|
||||
@@ -1556,7 +1558,7 @@ namespace emfio
|
||||
SAL_INFO("emfio", "WMF size w: " << aWMFSize.Width() << " h: " << aWMFSize.Height());
|
||||
|
||||
Size aDevExt( 10000, 10000 );
|
||||
if( ( std::abs( aWMFSize.Width() ) > 1 ) && ( std::abs( aWMFSize.Height() ) > 1 ) )
|
||||
if( ( std::abs( aWMFSize.Width() ) > 1 ) && ( std::abs( aWMFSize.Height() ) > 1 ) && mnUnitsPerInch )
|
||||
{
|
||||
const double fFrac = 1.0 / mnUnitsPerInch;
|
||||
MapMode aWMFMap( MapUnit::MapInch, Point(), fFrac, fFrac );
|
||||
|
||||
Reference in New Issue
Block a user