diff --git a/emfio/source/reader/wmfreader.cxx b/emfio/source/reader/wmfreader.cxx index 4ba63d53172d..7db073c3b61f 100644 --- a/emfio/source/reader/wmfreader.cxx +++ b/emfio/source/reader/wmfreader.cxx @@ -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 );