- Update to 2.4.11.

- Remove the LCD filtering option to enable because of patent issue. The patent
  has been expired and this option was already enabled for long time by now.[1]
- Update the header to fit with our handbook guide.

Reported by:	Anders N. wicked@baot.se (need to update for security)
Submitted by:	eadler [1]
Security:	CVE-2012-5668
		CVE-2012-5669
		CVE-2012-5670
This commit is contained in:
Jeremy Messenger 2012-12-28 20:21:38 +00:00
parent 81b2714cb4
commit 6c7bd2ad55
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=309585
4 changed files with 7 additions and 127 deletions

View file

@ -1,14 +1,9 @@
# New ports collection makefile for: freetype # Created by: jseger@FreeBSD.org
# Date created: January 24, 1998
# Whom: jseger@FreeBSD.org
#
# $FreeBSD$ # $FreeBSD$
# $MCom: ports/print/freetype2/Makefile,v 1.28 2011/10/25 18:31:21 kwm Exp $ # $MCom: ports/print/freetype2/Makefile,v 1.28 2011/10/25 18:31:21 kwm Exp $
#
PORTNAME= freetype2 PORTNAME= freetype2
PORTVERSION= 2.4.9 PORTVERSION= 2.4.11
PORTREVISION= 1
CATEGORIES= print CATEGORIES= print
MASTER_SITES= SF/freetype/${PORTNAME}/${PORTVERSION} \ MASTER_SITES= SF/freetype/${PORTNAME}/${PORTVERSION} \
http://sunsite.cnlab-switch.ch/ftp/mirror/freetype/freetype2/ \ http://sunsite.cnlab-switch.ch/ftp/mirror/freetype/freetype2/ \
@ -32,10 +27,6 @@ USE_GNOME= pkgconfig ltverhack:9
LIBTOOLFILES= builds/unix/configure LIBTOOLFILES= builds/unix/configure
CONFIGURE_WRKSRC= ${WRKSRC}/builds/unix CONFIGURE_WRKSRC= ${WRKSRC}/builds/unix
.if defined(WITH_LCD_FILTERING)
CFLAGS+= -DFT_CONFIG_OPTION_SUBPIXEL_RENDERING
.endif
.if defined(WITH_CJK) .if defined(WITH_CJK)
#PATCH_SITES+= http://lwj-hinet.myweb.hinet.net/ \ #PATCH_SITES+= http://lwj-hinet.myweb.hinet.net/ \
# ftp://local-distfiles.freebsd.org.cn/pub/china-ports/hamigua/ \ # ftp://local-distfiles.freebsd.org.cn/pub/china-ports/hamigua/ \
@ -44,18 +35,6 @@ CFLAGS+= -DFT_CONFIG_OPTION_SUBPIXEL_RENDERING
#PATCH_DIST_STRIP+= -p1 #PATCH_DIST_STRIP+= -p1
.endif .endif
pre-everything::
.if !defined(WITH_LCD_FILTERING)
@${ECHO_MSG}
@${ECHO_MSG} "You may want to enable LCD filtering."
@${ECHO_MSG}
@${ECHO_MSG} "Hit Ctrl-C now and use \"make WITH_LCD_FILTERING=yes\""
@${ECHO_MSG}
@${ECHO_MSG} "Note that there are possible patent issues related to the"
@${ECHO_MSG} "use of the LCD filtering technology."
@${ECHO_MSG}
.endif
pre-patch: pre-patch:
@${REINPLACE_CMD} -e 's|[(]libdir[)]/pkgconfig|(prefix)/libdata/pkgconfig|g' \ @${REINPLACE_CMD} -e 's|[(]libdir[)]/pkgconfig|(prefix)/libdata/pkgconfig|g' \
${WRKSRC}/builds/unix/install.mk ${WRKSRC}/builds/unix/install.mk
@ -65,6 +44,7 @@ pre-configure:
${WRKSRC}/builds/unix/unix-cc.in ${WRKSRC}/builds/unix/unix-cc.in
post-configure: post-configure:
@(cd ${BUILD_WRKSRC}; ${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} setup) @(cd ${BUILD_WRKSRC}; ${SETENV} ${MAKE_ENV} \
${GMAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} setup)
.include <bsd.port.mk> .include <bsd.port.mk>

View file

@ -1,2 +1,2 @@
SHA256 (freetype-2.4.9.tar.bz2) = c4204ac1d48e99d4375a2f32bf4f3f92780a9d9f015e64e57e852f6c004859b9 SHA256 (freetype-2.4.11.tar.bz2) = ef9d0bcb64647d9e5125dc7534d7ca371c98310fec87677c410f397f71ffbe3f
SIZE (freetype-2.4.9.tar.bz2) = 1504819 SIZE (freetype-2.4.11.tar.bz2) = 1546087

View file

@ -1,101 +0,0 @@
--- src/type1/t1load.c.orig 2012-04-07 12:20:49.000000000 +0200
+++ src/type1/t1load.c 2012-04-07 12:21:10.000000000 +0200
@@ -71,6 +71,13 @@
#include "t1errors.h"
+#ifdef FT_CONFIG_OPTION_INCREMENTAL
+#define IS_INCREMENTAL ( face->root.internal->incremental_interface != 0 )
+#else
+#define IS_INCREMENTAL 0
+#endif
+
+
/*************************************************************************/
/* */
/* The macro FT_COMPONENT is used in trace mode. It is an implicit */
@@ -1030,7 +1037,8 @@
static int
read_binary_data( T1_Parser parser,
FT_Long* size,
- FT_Byte** base )
+ FT_Byte** base,
+ FT_Bool incremental )
{
FT_Byte* cur;
FT_Byte* limit = parser->root.limit;
@@ -1065,8 +1073,12 @@
}
}
- FT_ERROR(( "read_binary_data: invalid size field\n" ));
- parser->root.error = T1_Err_Invalid_File_Format;
+ if( !incremental )
+ {
+ FT_ERROR(( "read_binary_data: invalid size field\n" ));
+ parser->root.error = T1_Err_Invalid_File_Format;
+ }
+
return 0;
}
@@ -1387,16 +1399,17 @@
FT_Byte* base;
- /* If the next token isn't `dup' we are done. */
- if ( parser->root.cursor + 4 < parser->root.limit &&
- ft_strncmp( (char*)parser->root.cursor, "dup", 3 ) != 0 )
+ /* If we are out of data, or if the next token isn't `dup', */
+ /* we are done. */
+ if ( parser->root.cursor + 4 >= parser->root.limit ||
+ ft_strncmp( (char*)parser->root.cursor, "dup", 3 ) != 0 )
break;
T1_Skip_PS_Token( parser ); /* `dup' */
idx = T1_ToInt( parser );
- if ( !read_binary_data( parser, &size, &base ) )
+ if ( !read_binary_data( parser, &size, &base, IS_INCREMENTAL ) )
return;
/* The binary string is followed by one token, e.g. `NP' */
@@ -1582,7 +1595,7 @@
cur++; /* skip `/' */
len = parser->root.cursor - cur;
- if ( !read_binary_data( parser, &size, &base ) )
+ if ( !read_binary_data( parser, &size, &base, IS_INCREMENTAL ) )
return;
/* for some non-standard fonts like `Optima' which provides */
@@ -1871,7 +1884,7 @@
parser->root.cursor = start_binary;
- if ( !read_binary_data( parser, &s, &b ) )
+ if ( !read_binary_data( parser, &s, &b, IS_INCREMENTAL ) )
return T1_Err_Invalid_File_Format;
have_integer = 0;
}
@@ -1884,7 +1897,7 @@
parser->root.cursor = start_binary;
- if ( !read_binary_data( parser, &s, &b ) )
+ if ( !read_binary_data( parser, &s, &b, IS_INCREMENTAL ) )
return T1_Err_Invalid_File_Format;
have_integer = 0;
}
@@ -2160,9 +2173,7 @@
type1->subrs_len = loader.subrs.lengths;
}
-#ifdef FT_CONFIG_OPTION_INCREMENTAL
- if ( !face->root.internal->incremental_interface )
-#endif
+ if ( !IS_INCREMENTAL )
if ( !loader.charstrings.init )
{
FT_ERROR(( "T1_Open_Face: no `/CharStrings' array in face\n" ));

View file

@ -6,6 +6,7 @@ include/freetype2/freetype/config/ftoption.h
include/freetype2/freetype/config/ftstdlib.h include/freetype2/freetype/config/ftstdlib.h
include/freetype2/freetype/freetype.h include/freetype2/freetype/freetype.h
include/freetype2/freetype/ftadvanc.h include/freetype2/freetype/ftadvanc.h
include/freetype2/freetype/ftautoh.h
include/freetype2/freetype/ftbbox.h include/freetype2/freetype/ftbbox.h
include/freetype2/freetype/ftbdf.h include/freetype2/freetype/ftbdf.h
include/freetype2/freetype/ftbitmap.h include/freetype2/freetype/ftbitmap.h