package/source/zipapi/ZipFile.cxx | 1 vcl/source/gdi/metaact.cxx | 52 +++++++++++++++++++------------------- vcl/workben/sftfuzzer.options | 3 -- 3 files changed, 27 insertions(+), 29 deletions(-)
New commits: commit 6576820b86c4066f6bca8d021c8774d0d3a58a34 Author: Caolán McNamara <[email protected]> AuthorDate: Sun Mar 1 13:21:22 2026 +0000 Commit: Caolán McNamara <[email protected]> CommitDate: Sun Mar 1 15:52:00 2026 +0100 move AllowPoint etc to the start inside the anon namespace Change-Id: I5c5df3ea5fc5665a35dedcec5af948f19b8f48ca Reviewed-on: https://gerrit.libreoffice.org/c/core/+/200703 Tested-by: Jenkins Reviewed-by: Caolán McNamara <[email protected]> diff --git a/vcl/source/gdi/metaact.cxx b/vcl/source/gdi/metaact.cxx index 2e40fece2934..5f8cac5cf942 100644 --- a/vcl/source/gdi/metaact.cxx +++ b/vcl/source/gdi/metaact.cxx @@ -76,6 +76,32 @@ void ImplScaleLineInfo( LineInfo& rLineInfo, double fScaleX, double fScaleY ) } } +bool AllowDim(tools::Long nDim) +{ + static bool bFuzzing = comphelper::IsFuzzing(); + if (bFuzzing) + { + constexpr auto numCairoMax(1 << 23); + if (nDim > numCairoMax || nDim < -numCairoMax) + { + SAL_WARN("vcl", "skipping huge dimension: " << nDim); + return false; + } + } + return true; +} + +bool AllowPoint(const Point& rPoint) +{ + return AllowDim(rPoint.X()) && AllowDim(rPoint.Y()); +} + +bool AllowRect(const tools::Rectangle& rRect) +{ + return AllowPoint(rRect.TopLeft()) && AllowPoint(rRect.BottomRight()) && + AllowDim(rRect.GetHeight()) && AllowDim(rRect.GetWidth()); +} + } //anonymous namespace MetaAction::MetaAction() : @@ -222,32 +248,6 @@ MetaRectAction::MetaRectAction( const tools::Rectangle& rRect ) : maRect ( rRect ) {} -static bool AllowDim(tools::Long nDim) -{ - static bool bFuzzing = comphelper::IsFuzzing(); - if (bFuzzing) - { - constexpr auto numCairoMax(1 << 23); - if (nDim > numCairoMax || nDim < -numCairoMax) - { - SAL_WARN("vcl", "skipping huge dimension: " << nDim); - return false; - } - } - return true; -} - -static bool AllowPoint(const Point& rPoint) -{ - return AllowDim(rPoint.X()) && AllowDim(rPoint.Y()); -} - -static bool AllowRect(const tools::Rectangle& rRect) -{ - return AllowPoint(rRect.TopLeft()) && AllowPoint(rRect.BottomRight()) && - AllowDim(rRect.GetHeight()) && AllowDim(rRect.GetWidth()); -} - void MetaRectAction::Execute( OutputDevice* pOut ) { if (!AllowRect(pOut->LogicToPixel(maRect))) commit 84d48a12cdc54a0a89138b4a951f3204ada786c2 Author: Caolán McNamara <[email protected]> AuthorDate: Sun Mar 1 13:09:46 2026 +0000 Commit: Caolán McNamara <[email protected]> CommitDate: Sun Mar 1 15:51:53 2026 +0100 remove unused vcl/workben/sftfuzzer.options since: commit 280ec672983a8314fcb0d2648c2ce1d17aa6db51 Date: Tue Feb 17 21:57:15 2026 +0200 Remove TestFontSubset() and sftfuzzer Change-Id: I7e443af6227cef29a0cfc0a8d9525fdaaf3d1d25 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/200702 Reviewed-by: Caolán McNamara <[email protected]> Tested-by: Jenkins diff --git a/vcl/workben/sftfuzzer.options b/vcl/workben/sftfuzzer.options deleted file mode 100644 index 98f36ac2312b..000000000000 --- a/vcl/workben/sftfuzzer.options +++ /dev/null @@ -1,3 +0,0 @@ -[libfuzzer] -max_len = 65536 -dict = otf.dict commit ee85abda49f3439f26745894b57c3eef50623ff7 Author: Caolán McNamara <[email protected]> AuthorDate: Sun Mar 1 13:04:15 2026 +0000 Commit: Caolán McNamara <[email protected]> CommitDate: Sun Mar 1 15:51:45 2026 +0100 ofz#488752793 Integer-overflow possibly since: commit d7ad4553f4ec2a6117f5e6455d6325454c34464e Date: Fri Jul 19 20:43:05 2024 +0200 package: ZipFile: check Zip64 end of central directory for consistency Change-Id: I4bcaaf10be63aa5068b6c801ff1b8a2455dfc63c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/200701 Tested-by: Jenkins Reviewed-by: Caolán McNamara <[email protected]> diff --git a/package/source/zipapi/ZipFile.cxx b/package/source/zipapi/ZipFile.cxx index a854e7a07db5..be59ebfe1570 100644 --- a/package/source/zipapi/ZipFile.cxx +++ b/package/source/zipapi/ZipFile.cxx @@ -1288,6 +1288,7 @@ std::tuple<sal_Int64, sal_Int64, sal_Int64> ZipFile::findCentralDirectory() if (o3tl::checked_add<sal_Int64>(nEnd64DirOffset, nEnd64DirSize, end) || nLoc64End64Offset < end || nEnd64DirOffset < 0 + || nEnd64DirSize < 0 || nLoc64End64Offset - nEnd64DirSize != nEnd64DirOffset) { throw ZipException(u"Invalid Zip64 end (bad central directory size)"_ustr);
