vcl/source/filter/svm/SvmReader.cxx | 34 ++++++++++++++++------------------ 1 file changed, 16 insertions(+), 18 deletions(-)
New commits: commit e48120a033daba70b4113d12b1e6745283963e39 Author: Caolán McNamara <caol...@redhat.com> AuthorDate: Mon Feb 27 09:21:21 2023 +0000 Commit: Caolán McNamara <caol...@redhat.com> CommitDate: Mon Feb 27 11:51:36 2023 +0000 ofz#56293 Timeout Change-Id: I8c6385b879d517b3f40a33d139295aeafb1c6354 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147874 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caol...@redhat.com> diff --git a/vcl/source/filter/svm/SvmReader.cxx b/vcl/source/filter/svm/SvmReader.cxx index e2b6e87c0ce0..a7a4dcbd7817 100644 --- a/vcl/source/filter/svm/SvmReader.cxx +++ b/vcl/source/filter/svm/SvmReader.cxx @@ -55,6 +55,21 @@ public: m_rData.meActualCharSet = m_eOrigCharSet; } }; + +void sanitizeNegativeSizeDimensions(Size& rSize) +{ + if (rSize.Width() < 0) + { + SAL_WARN("vcl.gdi", "sanitizeNegativeSizeDimensions: negative width"); + rSize.setWidth(0); + } + + if (rSize.Height() < 0) + { + SAL_WARN("vcl.gdi", "sanitizeNegativeSizeDimensions: negative height"); + rSize.setHeight(0); + } +} } SvmReader::SvmReader(SvStream& rIStm) @@ -95,6 +110,7 @@ SvStream& SvmReader::Read(GDIMetaFile& rMetaFile, ImplMetaReadData* pData) rMetaFile.SetPrefMapMode(aMapMode); Size aSize; aSerializer.readSize(aSize); + sanitizeNegativeSizeDimensions(aSize); rMetaFile.SetPrefSize(aSize); mrStream.ReadUInt32(nCount); @@ -855,24 +871,6 @@ rtl::Reference<MetaAction> SvmReader::BmpHandler() return pAction; } -namespace -{ -void sanitizeNegativeSizeDimensions(Size& rSize) -{ - if (rSize.Width() < 0) - { - SAL_WARN("vcl.gdi", "sanitizeNegativeSizeDimensions: negative width"); - rSize.setWidth(0); - } - - if (rSize.Height() < 0) - { - SAL_WARN("vcl.gdi", "sanitizeNegativeSizeDimensions: negative height"); - rSize.setHeight(0); - } -} -} - rtl::Reference<MetaAction> SvmReader::BmpScaleHandler() { rtl::Reference<MetaBmpScaleAction> pAction(new MetaBmpScaleAction);