vcl/source/filter/itiff/itiff.cxx |    4 +++-
 vcl/source/gdi/metaact.cxx        |    2 ++
 2 files changed, 5 insertions(+), 1 deletion(-)

New commits:
commit ab2a44f81bf5035fe85f3fb7494a910a75055041
Author:     Caolán McNamara <caol...@redhat.com>
AuthorDate: Fri Jan 6 20:38:57 2023 +0000
Commit:     Caolán McNamara <caol...@redhat.com>
CommitDate: Sat Jan 7 10:56:44 2023 +0000

    ofz#54567 Out-of-memory
    
    Change-Id: If7a3f75aea614bf136049efc9d04ff404acbb170
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145165
    Tested-by: Jenkins
    Reviewed-by: Caolán McNamara <caol...@redhat.com>

diff --git a/vcl/source/filter/itiff/itiff.cxx 
b/vcl/source/filter/itiff/itiff.cxx
index a611810a9aec..a306317b60b0 100644
--- a/vcl/source/filter/itiff/itiff.cxx
+++ b/vcl/source/filter/itiff/itiff.cxx
@@ -127,6 +127,7 @@ bool ImportTiffGraphicImport(SvStream& rTIFF, Graphic& 
rGraphic)
     Animation aAnimation;
 
     const bool bFuzzing = utl::ConfigManager::IsFuzzing();
+    uint64_t nTotalPixelsRequired = 0;
 
     do
     {
@@ -160,7 +161,8 @@ bool ImportTiffGraphicImport(SvStream& rTIFF, Graphic& 
rGraphic)
         {
             const uint64_t MAX_PIXEL_SIZE = 150000000;
             const uint64_t MAX_TILE_SIZE = 100000000;
-            if (TIFFTileSize64(tif) > MAX_TILE_SIZE || nPixelsRequired > 
MAX_PIXEL_SIZE)
+            nTotalPixelsRequired += nPixelsRequired;
+            if (TIFFTileSize64(tif) > MAX_TILE_SIZE || nTotalPixelsRequired > 
MAX_PIXEL_SIZE)
             {
                 SAL_WARN("filter.tiff", "skipping large tiffs");
                 break;
commit 8ddb962846020d1534454fdeea628bb72d92ba40
Author:     Caolán McNamara <caol...@redhat.com>
AuthorDate: Fri Jan 6 20:27:01 2023 +0000
Commit:     Caolán McNamara <caol...@redhat.com>
CommitDate: Sat Jan 7 10:56:36 2023 +0000

    ofz#54707 Integer-overflow
    
    Change-Id: I3b448ed2752bfbffa2f38db3fe0d4099b9f83b2a
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145164
    Tested-by: Caolán McNamara <caol...@redhat.com>
    Reviewed-by: Caolán McNamara <caol...@redhat.com>

diff --git a/vcl/source/gdi/metaact.cxx b/vcl/source/gdi/metaact.cxx
index c3d1d11b9a4c..cbec9f54a1d5 100644
--- a/vcl/source/gdi/metaact.cxx
+++ b/vcl/source/gdi/metaact.cxx
@@ -1152,6 +1152,8 @@ MetaMaskScaleAction::MetaMaskScaleAction( const Point& 
rPt, const Size& rSz,
 
 void MetaMaskScaleAction::Execute( OutputDevice* pOut )
 {
+    if (!AllowRect(pOut->LogicToPixel(tools::Rectangle(maPt, maSz))))
+        return;
     pOut->DrawMask( maPt, maSz, maBmp, maColor );
 }
 

Reply via email to