summaryrefslogtreecommitdiff
path: root/graphics/freetype2/patches/patch-ac
diff options
context:
space:
mode:
Diffstat (limited to 'graphics/freetype2/patches/patch-ac')
-rw-r--r--graphics/freetype2/patches/patch-ac28
1 files changed, 28 insertions, 0 deletions
diff --git a/graphics/freetype2/patches/patch-ac b/graphics/freetype2/patches/patch-ac
new file mode 100644
index 00000000000..95db80bb2a1
--- /dev/null
+++ b/graphics/freetype2/patches/patch-ac
@@ -0,0 +1,28 @@
+$NetBSD: patch-ac,v 1.1.2.1 2006/06/06 07:51:29 snj Exp $
+
+--- src/base/ftmac.c.orig 2004-08-28 10:02:46.000000000 +0200
++++ src/base/ftmac.c 2006-06-05 23:17:29.000000000 +0200
+@@ -430,6 +430,7 @@
+ short res_id;
+ unsigned char *buffer, *p, *size_p = NULL;
+ FT_ULong total_size = 0;
++ FT_ULong old_total_size = 0;
+ FT_ULong post_size, pfb_chunk_size;
+ Handle post_data;
+ char code, last_code;
+@@ -462,6 +463,15 @@
+ last_code = code;
+ }
+
++ /* detect integer overflows */
++ if ( total_size < old_total_size )
++ {
++ error = FT_Err_Array_Too_Large;
++ goto Error;
++ }
++
++ old_total_size = total_size;
++
+ if ( FT_ALLOC( buffer, (FT_Long)total_size ) )
+ goto Error;
+