vcl/unx/generic/glyphs/freetype_glyphcache.cxx |    6 ++++++
 1 file changed, 6 insertions(+)

New commits:
commit 095cd83fd266a3549ff9b2ad5abd6f05c3852b33
Author:     Caolán McNamara <caol...@redhat.com>
AuthorDate: Wed Mar 23 09:34:18 2022 +0000
Commit:     Caolán McNamara <caol...@redhat.com>
CommitDate: Wed Mar 23 13:15:28 2022 +0100

    ofz: Divide-by-zero
    
    Change-Id: I792f80ef1a8b88f6f3c3da18bd656a4714f5a160
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131966
    Tested-by: Jenkins
    Reviewed-by: Caolán McNamara <caol...@redhat.com>

diff --git a/vcl/unx/generic/glyphs/freetype_glyphcache.cxx 
b/vcl/unx/generic/glyphs/freetype_glyphcache.cxx
index 34bc8e7f051a..193b98f9ef94 100644
--- a/vcl/unx/generic/glyphs/freetype_glyphcache.cxx
+++ b/vcl/unx/generic/glyphs/freetype_glyphcache.cxx
@@ -433,6 +433,12 @@ FreetypeFont::FreetypeFont(FreetypeFontInstance& 
rFontInstance, const std::share
     mnWidth = rFSD.mnWidth;
     if( !mnWidth )
         mnWidth = rFSD.mnHeight;
+    if (rFSD.mnHeight == 0)
+    {
+        SAL_WARN("vcl", "FreetypeFont divide by zero");
+        mfStretch = 1.0;
+        return;
+    }
     mfStretch = static_cast<double>(mnWidth) / rFSD.mnHeight;
     // sanity checks (e.g. #i66394#, #i66244#, #i66537#)
     if (mnWidth < 0)

Reply via email to