diff options
-rw-r--r-- | filter/source/msfilter/msdffimp.cxx | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/filter/source/msfilter/msdffimp.cxx b/filter/source/msfilter/msdffimp.cxx index 59a60d772fbd..7b6d979d445a 100644 --- a/filter/source/msfilter/msdffimp.cxx +++ b/filter/source/msfilter/msdffimp.cxx @@ -4566,7 +4566,12 @@ SdrObject* SvxMSDffManager::ImportShape( const DffRecordHeader& rHd, SvStream& r { double fNumber; seqAdjustmentValues[ 0 ].Value >>= fNumber; - nEndAngle = NormAngle36000( - static_cast<sal_Int32>(fNumber) * 100 ); + sal_Int32 nValue; + bool bFail = o3tl::checked_multiply<sal_Int32>(fNumber, 100, nValue); + if (!bFail) + SAL_WARN("filter.ms", "nEndAngle too large: " << fNumber); + else + nEndAngle = NormAngle36000(-nValue); } else { |