- update to 2.2.3

- remove option VPX
Security: CVE-2016-6207
Security: CVE-2016-6214
Security: CVE-2016-6132
Security: CVE-2016-5766
PR:		211562
MFH:		2016Q3
This commit is contained in:
Dirk Meyer 2016-08-28 17:42:42 +00:00
parent 8ff93d23e5
commit 08a82e7ea8
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=421029
6 changed files with 37 additions and 120 deletions

View File

@ -2,7 +2,7 @@
# $FreeBSD$
PORTNAME= libgd
PORTVERSION= 2.2.2
PORTVERSION= 2.2.3
PORTREVISION?= 0
PORTEPOCH= 1
CATEGORIES+= graphics
@ -24,15 +24,13 @@ SHEBANG_FILES= ${WRKSRC}/src/bdftogd
GNU_CONFIGURE= yes
USE_LDCONFIG= yes
OPTIONS_DEFINE= FONTCONFIG ICONV VPX XPM WEBP
OPTIONS_DEFINE= FONTCONFIG ICONV XPM WEBP
OPTIONS_DEFAULT=FONTCONFIG
NO_OPTIONS_SORT=yes
FONTCONFIG_LIB_DEPENDS+= libfontconfig.so:x11-fonts/fontconfig
FONTCONFIG_CONFIGURE_OFF= --with-fontconfig=no
ICONV_USES= iconv
ICONV_CONFIGURE_ON= ${ICONV_CONFIGURE_ARG}
VPX_LIB_DEPENDS= libvpx.so:multimedia/libvpx
VPX_CONFIGURE_OFF= --without-vpx
XPM_USE= xorg=xpm,x11
XPM_CONFIGURE_ON= --with-x
XPM_CONFIGURE_OFF= --with-xpm=no
@ -76,24 +74,13 @@ pre-configure:
.endif
# bump shlib version
${REINPLACE_CMD} \
-e 's|GDLIB_CURRENT=.*|GDLIB_CURRENT=5|' \
-e 's|^GDLIB_LT_CURRENT=3|GDLIB_LT_CURRENT=6|' \
${WRKSRC}/configure
# workaround for broken configure
.if ! ${PORT_OPTIONS:MICONV}
${REINPLACE_CMD} \
-e 's|iconv|noiconv|' \
${WRKSRC}/configure
.endif
.if ! ${PORT_OPTIONS:MXPM}
${REINPLACE_CMD} \
-e 's|xpm|noxpm|' \
${WRKSRC}/configure
.endif
.if ! ${PORT_OPTIONS:MFONTCONFIG}
${REINPLACE_CMD} \
-e 's|fontconfig|nofontconfig|' \
${WRKSRC}/configure
.endif
.if defined(GD_FONTS)
pre-build:
@ -103,6 +90,6 @@ pre-build:
post-install:
${INSTALL_DATA} ${WRKSRC}/src/gdhelpers.h \
${STAGEDIR}${PREFIX}/include/
${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libgd.so.6.0.20202
${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libgd.so.6.0.3
.include <bsd.port.mk>

View File

@ -1,3 +1,3 @@
TIMESTAMP = 1468106153
SHA256 (libgd-2.2.2.tar.xz) = 489f756ce07f0c034b1a794f4d34fdb4d829256112cb3c36feb40bb56b79218c
SIZE (libgd-2.2.2.tar.xz) = 2105628
TIMESTAMP = 1472401416
SHA256 (libgd-2.2.3.tar.xz) = 746b6cbd6769a22ff3ba6f5756f3512a769bd4cdf4695dff17f4867f25fa7d3c
SIZE (libgd-2.2.3.tar.xz) = 2164152

View File

@ -1,11 +0,0 @@
--- configure.bak 2016-06-24 07:52:14.000000000 +0200
+++ configure 2016-07-10 01:24:57.924934000 +0200
@@ -2463,7 +2463,7 @@
# Dynamic library version information
# See http://www.gnu.org/software/libtool/manual/libtool.html#Updating-version-info
-GDLIB_LT_CURRENT=3
+GDLIB_LT_CURRENT=6
GDLIB_LT_REVISION=$(printf '%i%02i%02i' $GDLIB_MAJOR $GDLIB_MINOR $GDLIB_REVISION)
GDLIB_LT_AGE=0

View File

@ -1,88 +0,0 @@
--- src/gd_tga.c.orig 2016-07-18 19:23:11 UTC
+++ src/gd_tga.c
@@ -99,7 +99,7 @@ BGD_DECLARE(gdImagePtr) gdImageCreateFro
if (tga->bits == TGA_BPP_24) {
*tpix = gdTrueColor(tga->bitmap[bitmap_caret + 2], tga->bitmap[bitmap_caret + 1], tga->bitmap[bitmap_caret]);
bitmap_caret += 3;
- } else if (tga->bits == TGA_BPP_32 || tga->alphabits) {
+ } else if (tga->bits == TGA_BPP_32 && tga->alphabits) {
register int a = tga->bitmap[bitmap_caret + 3];
*tpix = gdTrueColorAlpha(tga->bitmap[bitmap_caret + 2], tga->bitmap[bitmap_caret + 1], tga->bitmap[bitmap_caret], gdAlphaMax - (a >> 1));
@@ -159,16 +159,13 @@ int read_header_tga(gdIOCtx *ctx, oTga *
printf("wxh: %i %i\n", tga->width, tga->height);
#endif
- switch(tga->bits) {
- case 8:
- case 16:
- case 24:
- case 32:
- break;
- default:
- gd_error("bps %i not supported", tga->bits);
+ if (!((tga->bits == TGA_BPP_24 && tga->alphabits == 0)
+ || (tga->bits == TGA_BPP_32 && tga->alphabits == 8)))
+ {
+ gd_error_ex(GD_WARNING, "gd-tga: %u bits per pixel with %u alpha bits not supported\n",
+ tga->bits, tga->alphabits);
+
return -1;
- break;
}
tga->ident = NULL;
@@ -285,14 +285,23 @@ int read_image_tga( gdIOCtx *ctx, oTga *
buffer_caret = 0;
while( bitmap_caret < image_block_size ) {
-
+
if ((decompression_buffer[buffer_caret] & TGA_RLE_FLAG) == TGA_RLE_FLAG) {
encoded_pixels = ( ( decompression_buffer[ buffer_caret ] & 127 ) + 1 );
buffer_caret++;
- for (i = 0; i < encoded_pixels; i++) {
- for (j = 0; j < pixel_block_size; j++, bitmap_caret++) {
- tga->bitmap[ bitmap_caret ] = decompression_buffer[ buffer_caret + j ];
+ if (encoded_pixels != 0) {
+
+ if (!((buffer_caret + (encoded_pixels * pixel_block_size)) < image_block_size)) {
+ gdFree( decompression_buffer );
+ gdFree( conversion_buffer );
+ return -1;
+ }
+
+ for (i = 0; i < encoded_pixels; i++) {
+ for (j = 0; j < pixel_block_size; j++, bitmap_caret++) {
+ tga->bitmap[ bitmap_caret ] = decompression_buffer[ buffer_caret + j ];
+ }
}
}
buffer_caret += pixel_block_size;
@@ -300,11 +309,20 @@ int read_image_tga( gdIOCtx *ctx, oTga *
encoded_pixels = decompression_buffer[ buffer_caret ] + 1;
buffer_caret++;
- for (i = 0; i < encoded_pixels; i++) {
- for( j = 0; j < pixel_block_size; j++, bitmap_caret++ ) {
- tga->bitmap[ bitmap_caret ] = decompression_buffer[ buffer_caret + j ];
+ if (encoded_pixels != 0) {
+
+ if (!((buffer_caret + (encoded_pixels * pixel_block_size)) < image_block_size)) {
+ gdFree( decompression_buffer );
+ gdFree( conversion_buffer );
+ return -1;
+ }
+
+ for (i = 0; i < encoded_pixels; i++) {
+ for( j = 0; j < pixel_block_size; j++, bitmap_caret++ ) {
+ tga->bitmap[ bitmap_caret ] = decompression_buffer[ buffer_caret + j ];
+ }
+ buffer_caret += pixel_block_size;
}
- buffer_caret += pixel_block_size;
}
}
}

View File

@ -0,0 +1,29 @@
--- src/gdft.c.orig 2016-07-21 10:32:27.000000000 +0200
+++ src/gdft.c 2016-08-28 19:25:01.730120000 +0200
@@ -139,7 +139,7 @@
}
#else
-#ifndef HAVE_LIBFONTCONFIG
+#if 0
static char * font_pattern(char **fontpath, char *fontpattern)
{
(void)fontpath;
@@ -446,15 +446,15 @@
return (strcmp (a->fontlist, b->fontlist) == 0 && a->flags == b->flags);
}
+#ifdef HAVE_LIBFONTCONFIG
static int useFontConfig(int flag)
{
-#ifdef HAVE_LIBFONTCONFIG
if (fontConfigFlag) {
return (!(flag & gdFTEX_FONTPATHNAME));
}
-#endif
return flag & gdFTEX_FONTCONFIG;
}
+#endif
static void *
fontFetch (char **error, void *key)

View File

@ -29,5 +29,5 @@ lib/libgd.a
lib/libgd.la
lib/libgd.so
lib/libgd.so.6
lib/libgd.so.6.0.20202
lib/libgd.so.6.0.3
libdata/pkgconfig/gdlib.pc