vcl/source/gdi/TypeSerializer.cxx |    5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

New commits:
commit c207e2c7a3a49bc46488056d0d106517781c3ef4
Author:     Caolán McNamara <caol...@redhat.com>
AuthorDate: Sun Mar 6 15:20:01 2022 +0000
Commit:     Caolán McNamara <caol...@redhat.com>
CommitDate: Sun Mar 6 17:00:27 2022 +0100

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

diff --git a/vcl/source/gdi/TypeSerializer.cxx 
b/vcl/source/gdi/TypeSerializer.cxx
index 7834170578c8..1d28b597a15d 100644
--- a/vcl/source/gdi/TypeSerializer.cxx
+++ b/vcl/source/gdi/TypeSerializer.cxx
@@ -441,7 +441,10 @@ void TypeSerializer::readMapMode(MapMode& rMapMode)
     readFraction(aScaleY);
     mrStream.ReadCharAsBool(bSimple);
 
-    if (bSimple)
+    const bool bBogus = !aScaleX.IsValid() || !aScaleY.IsValid();
+    SAL_WARN_IF(bBogus, "vcl", "invalid scale");
+
+    if (bSimple || bBogus)
         rMapMode = MapMode(eUnit);
     else
         rMapMode = MapMode(eUnit, aOrigin, aScaleX, aScaleY);

Reply via email to