vcl/source/filter/itiff/itiff.cxx |   11 +++++++++++
 1 file changed, 11 insertions(+)

New commits:
commit 027d937ac3baa357511f9974d958ef2002c7f60a
Author:     Caolán McNamara <caol...@redhat.com>
AuthorDate: Tue May 24 12:48:37 2022 +0100
Commit:     Caolán McNamara <caol...@redhat.com>
CommitDate: Tue May 24 17:51:13 2022 +0200

    ofz#47591 avoid OOM
    
    Change-Id: Ic36cae516177d58a2bbf34a1afc2f843cdc431d7
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134868
    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 b682d759f115..41255140617a 100644
--- a/vcl/source/filter/itiff/itiff.cxx
+++ b/vcl/source/filter/itiff/itiff.cxx
@@ -25,6 +25,7 @@
 #include <vcl/animate/Animation.hxx>
 #include <bitmap/BitmapWriteAccess.hxx>
 #include <tools/stream.hxx>
+#include <unotools/configmgr.hxx>
 
 #include <tiffio.h>
 
@@ -125,6 +126,16 @@ bool ImportTiffGraphicImport(SvStream& rTIFF, Graphic& 
rGraphic)
             break;
         }
 
+        if (utl::ConfigManager::IsFuzzing())
+        {
+            const uint64_t MAX_SIZE = 500000000;
+            if (TIFFTileSize64(tif) > MAX_SIZE)
+            {
+                SAL_WARN("filter.tiff", "skipping large tiffs");
+                return false;
+            }
+        }
+
         size_t npixels = w * h;
         std::vector<uint32_t> raster(npixels);
         if (TIFFReadRGBAImageOriented(tif, w, h, raster.data(), 
ORIENTATION_TOPLEFT, 1))

Reply via email to