svn commit: r422858 - in head/graphics: php55-gd php55-gd/files php56-gd php56-gd/files

Alex Dupre ale at FreeBSD.org
Wed Sep 28 08:20:48 UTC 2016


Author: ale
Date: Wed Sep 28 08:20:46 2016
New Revision: 422858
URL: https://svnweb.freebsd.org/changeset/ports/422858

Log:
  Fix integer overflow in gdImageWebpCtx and bump PORTREVISION.
  
  PR:		213023
  Submitted by:	Vladimir Krstulja <vlad-fbsd at acheronmedia.com>

Added:
  head/graphics/php55-gd/files/patch-libgd_gd_webp.c   (contents, props changed)
  head/graphics/php56-gd/files/patch-libgd_gd_webp.c   (contents, props changed)
Modified:
  head/graphics/php55-gd/Makefile
  head/graphics/php55-gd/files/patch-config.m4
  head/graphics/php56-gd/Makefile
  head/graphics/php56-gd/files/patch-config.m4

Modified: head/graphics/php55-gd/Makefile
==============================================================================
--- head/graphics/php55-gd/Makefile	Wed Sep 28 08:17:03 2016	(r422857)
+++ head/graphics/php55-gd/Makefile	Wed Sep 28 08:20:46 2016	(r422858)
@@ -1,7 +1,7 @@
 # Created by: Alex Dupre <ale at FreeBSD.org>
 # $FreeBSD$
 
-PORTREVISION=	1
+PORTREVISION=	2
 CATEGORIES=	graphics
 
 MASTERDIR=	${.CURDIR}/../../lang/php55

Modified: head/graphics/php55-gd/files/patch-config.m4
==============================================================================
--- head/graphics/php55-gd/files/patch-config.m4	Wed Sep 28 08:17:03 2016	(r422857)
+++ head/graphics/php55-gd/files/patch-config.m4	Wed Sep 28 08:20:46 2016	(r422858)
@@ -1,6 +1,6 @@
---- config.m4.orig	2013-12-11 00:31:06.000000000 +0100
-+++ config.m4	2013-12-24 21:11:19.000000000 +0100
-@@ -233,7 +233,7 @@
+--- config.m4.orig	2016-07-20 10:41:48.000000000 +0200
++++ config.m4	2016-09-28 10:06:48.173731000 +0200
+@@ -228,7 +228,7 @@ AC_DEFUN([PHP_GD_T1LIB],[
      ],[
        AC_MSG_ERROR([Problem with libt1.(a|so). Please check config.log for more information.])
      ],[

Added: head/graphics/php55-gd/files/patch-libgd_gd_webp.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/graphics/php55-gd/files/patch-libgd_gd_webp.c	Wed Sep 28 08:20:46 2016	(r422858)
@@ -0,0 +1,18 @@
+--- libgd/gd_webp.c.orig	2016-09-28 10:07:06.092196000 +0200
++++ libgd/gd_webp.c	2016-09-28 10:08:12.429030000 +0200
+@@ -180,6 +180,15 @@ void gdImageWebpCtx (gdImagePtr im, gdIO
+ 	/* Conversion to Y,U,V buffer */
+     yuv_width = (width + 1) >> 1;
+     yuv_height = (height + 1) >> 1;
++
++    if (overflow2(width, height)) {
++        return;
++    }
++    /* simplification possible, because WebP must not be larger than 16384**2 */
++    if (overflow2(width * height, 2 * sizeof(unsigned char))) {
++        return;
++    }
++
+     yuv_nbytes = width * height + 2 * yuv_width * yuv_height;
+ 
+     if ((Y = (unsigned char *)gdCalloc(yuv_nbytes, sizeof(unsigned char))) == NULL) {

Modified: head/graphics/php56-gd/Makefile
==============================================================================
--- head/graphics/php56-gd/Makefile	Wed Sep 28 08:17:03 2016	(r422857)
+++ head/graphics/php56-gd/Makefile	Wed Sep 28 08:20:46 2016	(r422858)
@@ -1,6 +1,7 @@
 # Created by: Alex Dupre <ale at FreeBSD.org>
 # $FreeBSD$
 
+PORTREVISION=	1
 CATEGORIES=	graphics
 
 MASTERDIR=	${.CURDIR}/../../lang/php56

Modified: head/graphics/php56-gd/files/patch-config.m4
==============================================================================
--- head/graphics/php56-gd/files/patch-config.m4	Wed Sep 28 08:17:03 2016	(r422857)
+++ head/graphics/php56-gd/files/patch-config.m4	Wed Sep 28 08:20:46 2016	(r422858)
@@ -1,6 +1,6 @@
---- config.m4.orig	2013-12-11 00:31:06.000000000 +0100
-+++ config.m4	2013-12-24 21:11:19.000000000 +0100
-@@ -233,7 +233,7 @@
+--- config.m4.orig	2016-09-15 23:02:50.000000000 +0200
++++ config.m4	2016-09-28 10:10:26.335642000 +0200
+@@ -228,7 +228,7 @@ AC_DEFUN([PHP_GD_T1LIB],[
      ],[
        AC_MSG_ERROR([Problem with libt1.(a|so). Please check config.log for more information.])
      ],[

Added: head/graphics/php56-gd/files/patch-libgd_gd_webp.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/graphics/php56-gd/files/patch-libgd_gd_webp.c	Wed Sep 28 08:20:46 2016	(r422858)
@@ -0,0 +1,18 @@
+--- libgd/gd_webp.c.orig	2016-09-28 10:07:06.092196000 +0200
++++ libgd/gd_webp.c	2016-09-28 10:08:12.429030000 +0200
+@@ -180,6 +180,15 @@ void gdImageWebpCtx (gdImagePtr im, gdIO
+ 	/* Conversion to Y,U,V buffer */
+     yuv_width = (width + 1) >> 1;
+     yuv_height = (height + 1) >> 1;
++
++    if (overflow2(width, height)) {
++        return;
++    }
++    /* simplification possible, because WebP must not be larger than 16384**2 */
++    if (overflow2(width * height, 2 * sizeof(unsigned char))) {
++        return;
++    }
++
+     yuv_nbytes = width * height + 2 * yuv_width * yuv_height;
+ 
+     if ((Y = (unsigned char *)gdCalloc(yuv_nbytes, sizeof(unsigned char))) == NULL) {


More information about the svn-ports-all mailing list