vcl/source/fontsubset/sft.cxx |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

New commits:
commit 588f5c9a53c9ddd5a8d704137c4b008365adb3ff
Author:     Caolán McNamara <caol...@redhat.com>
AuthorDate: Tue Mar 1 20:36:22 2022 +0000
Commit:     Caolán McNamara <caol...@redhat.com>
CommitDate: Wed Mar 2 09:41:33 2022 +0100

    ofz#45156 Floating-point-exception
    
    Change-Id: Ia121fca4123f83fbb953dd3ce3da496c19fcb3b3
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130813
    Tested-by: Caolán McNamara <caol...@redhat.com>
    Reviewed-by: Caolán McNamara <caol...@redhat.com>

diff --git a/vcl/source/fontsubset/sft.cxx b/vcl/source/fontsubset/sft.cxx
index 919f599d061e..f59c26da4f0c 100644
--- a/vcl/source/fontsubset/sft.cxx
+++ b/vcl/source/fontsubset/sft.cxx
@@ -589,10 +589,10 @@ static int GetCompoundTTOutline(AbstractTrueTypeFont 
*ttf, sal_uInt32 glyphID, C
         if (abs3 < 0) abs3 = -abs3;
         if (abs3 <= 33) n *= 2;
 
-        SAL_WARN_IF(np && !m, "vcl.fonts", "Parsing error in " << 
OUString::createFromAscii(ttf->fileName()) <<
+        SAL_WARN_IF(np && (!m || !n), "vcl.fonts", "Parsing error in " << 
OUString::createFromAscii(ttf->fileName()) <<
                      ": divide by zero");
 
-        if (m != 0) {
+        if (m != 0 && n != 0) {
             for (i=0; i<np; i++) {
                 F16Dot16 t;
                 ControlPoint cp;

Reply via email to