File freetype-2.3.7-sigfpe.patch of Package freetype2

Index: src/cff/cffparse.c
===================================================================
--- src/cff/cffparse.c.orig	2009-10-02 23:16:02.000000000 +0200
+++ src/cff/cffparse.c	2009-10-02 23:23:32.000000000 +0200
@@ -244,7 +244,7 @@
         if ( !nib && !number )
           exponent_add--;
         /* Only add digit if we don't overflow. */
-        else if ( number < 0xCCCCCCCL )
+        else if ( number < 0xCCCCCCCL && fraction_length < 9)
         {
           fraction_length++;
           number = number * 10 + nib;
@@ -355,6 +355,11 @@
       if ( FT_ABS( integer_length ) > 5 )
         goto Exit;
 
+	/* Remove non-significant digits. */
+      if ( integer_length < 0 ) {
+		number /= power_tens[-integer_length];
+		fraction_length += integer_length;
+      }
       /* Convert into 16.16 format. */
       if ( fraction_length > 0 )
       {
openSUSE Build Service is sponsored by