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 )
{