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:
Caolán McNamara
2026-04-27 16:03:44 +02:00
committed by Xisco Fauli
parent 1a8bfc4407
commit cc32ab7342
+3 -1
View File
@@ -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 );