aboutsummaryrefslogtreecommitdiffstats
path: root/print
diff options
context:
space:
mode:
authormarcus <marcus@FreeBSD.org>2007-05-22 06:24:16 +0800
committermarcus <marcus@FreeBSD.org>2007-05-22 06:24:16 +0800
commitd32cc162e6c3b101bc406b7215c741cfc7404af7 (patch)
treed449a38088b20cafc9079f2c9cf97ef2f9c7ebb4 /print
parent508905b038210ffc14bd114240f289922ca3397e (diff)
downloadfreebsd-ports-gnome-d32cc162e6c3b101bc406b7215c741cfc7404af7.tar.gz
freebsd-ports-gnome-d32cc162e6c3b101bc406b7215c741cfc7404af7.tar.zst
freebsd-ports-gnome-d32cc162e6c3b101bc406b7215c741cfc7404af7.zip
Fix the integer signedness error in freetype2 that is described in
http://nvd.nist.gov/nvd.cfm?cvename=CVE-2007-2754 . PR: 112769 Submitted by: Nick Barkas <snb@threerings.net> Obtained from: Freetype CVS Security: http://nvd.nist.gov/nvd.cfm?cvename=CVE-2007-2754 Approved by: portmgr (implicit)
Diffstat (limited to 'print')
-rw-r--r--print/freetype2/Makefile2
-rw-r--r--print/freetype2/files/patch-src_truetype_ttgload.c32
2 files changed, 33 insertions, 1 deletions
diff --git a/print/freetype2/Makefile b/print/freetype2/Makefile
index 076556b5b752..9ee188f0cc5e 100644
--- a/print/freetype2/Makefile
+++ b/print/freetype2/Makefile
@@ -7,7 +7,7 @@
PORTNAME= freetype2
PORTVERSION= 2.2.1
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= print
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:S,%SUBDIR%,freetype,} \
http://sunsite.cnlab-switch.ch/ftp/mirror/freetype/%SUBDIR%/ \
diff --git a/print/freetype2/files/patch-src_truetype_ttgload.c b/print/freetype2/files/patch-src_truetype_ttgload.c
new file mode 100644
index 000000000000..803bdeeb30e8
--- /dev/null
+++ b/print/freetype2/files/patch-src_truetype_ttgload.c
@@ -0,0 +1,32 @@
+--- src/truetype/ttgload.c.orig Tue Feb 14 12:44:56 2006
++++ src/truetype/ttgload.c Fri May 18 13:05:34 2007
+@@ -269,7 +269,11 @@
+
+ n_points = 0;
+ if ( n_contours > 0 )
++ {
+ n_points = cont[-1] + 1;
++ if ( n_points < 0 )
++ goto Invalid_Outline;
++ }
+
+ /* note that we will add four phantom points later */
+ error = FT_GLYPHLOADER_CHECK_POINTS( gloader, n_points + 4, 0 );
+@@ -677,7 +681,7 @@
+ FT_GlyphLoader gloader = loader->gloader;
+ FT_Error error = TT_Err_Ok;
+ FT_Outline* outline;
+- FT_UInt n_points;
++ FT_Int n_points;
+
+
+ outline = &gloader->current.outline;
+@@ -704,7 +708,7 @@
+ /* Deltas apply to the unscaled data. */
+ FT_Vector* deltas;
+ FT_Memory memory = loader->face->memory;
+- FT_UInt i;
++ FT_Int i;
+
+
+ error = TT_Vary_Get_Glyph_Deltas( (TT_Face)(loader->face),