iliaa Mon Jul 26 20:27:11 2004 EDT
Modified files: (Branch: PHP_4_3)
/php-src NEWS
/php-src/ext/gd config.m4 gd.c
Log:
MFH: Fixed bug #29349 (imagecreatefromstring() crashes with external GD
library).
http://cvs.php.net/diff.php/php-src/NEWS?r1=1.1247.2.708&r2=1.1247.2.709&ty=u
Index: php-src/NEWS
diff -u php-src/NEWS:1.1247.2.708 php-src/NEWS:1.1247.2.709
--- php-src/NEWS:1.1247.2.708 Sun Jul 25 15:19:32 2004
+++ php-src/NEWS Mon Jul 26 20:27:10 2004
@@ -6,6 +6,8 @@
for doing performance stats without warnings in server-log. (Uwe Schindler)
- Fixed bug #29369 (Uploaded files with ' or " in their names get their names
truncated at those characters). (Ilia)
+- Fixed bug #29349 (imagecreatefromstring() crashes with external GD library).
+ (Ilia, adconrad at debian dot org)
- Fixed bug #29333 (output_buffering+trans_sess_id can corrupt output). (Ilia)
- Fixed bug #29226 (ctype_* functions missing validation of numeric string
representations). (Ilia)
http://cvs.php.net/diff.php/php-src/ext/gd/config.m4?r1=1.120.2.20&r2=1.120.2.21&ty=u
Index: php-src/ext/gd/config.m4
diff -u php-src/ext/gd/config.m4:1.120.2.20 php-src/ext/gd/config.m4:1.120.2.21
--- php-src/ext/gd/config.m4:1.120.2.20 Thu Jul 22 19:09:24 2004
+++ php-src/ext/gd/config.m4 Mon Jul 26 20:27:10 2004
@@ -1,5 +1,5 @@
dnl
-dnl $Id: config.m4,v 1.120.2.20 2004/07/22 23:09:24 sesser Exp $
+dnl $Id: config.m4,v 1.120.2.21 2004/07/27 00:27:10 iliaa Exp $
dnl
dnl
@@ -258,6 +258,7 @@
PHP_CHECK_LIBRARY(gd, gdImageGifCtx, [AC_DEFINE(HAVE_GD_GIF_CTX,
1, [ ])], [], [ -L$GD_LIB $GD_SHARED_LIBADD ])
PHP_CHECK_LIBRARY(gd, gdCacheCreate, [AC_DEFINE(HAVE_GD_CACHE_CREATE,
1, [ ])], [], [ -L$GD_LIB $GD_SHARED_LIBADD ])
PHP_CHECK_LIBRARY(gd, gdFontCacheShutdown, [AC_DEFINE(HAVE_GD_THREAD_SAFE,
1, [ ])], [], [ -L$GD_LIB $GD_SHARED_LIBADD ])
+ PHP_CHECK_LIBRARY(gd, gdNewDynamicCtxEx, [AC_DEFINE(HAVE_GD_DYNAMIC_CTX_EX
1, [ ])], [], [ -L$GD_LIB $GD_SHARED_LIBADD ])
])
dnl
@@ -307,6 +308,7 @@
AC_DEFINE(HAVE_GD_GIF_READ, 1, [ ])
AC_DEFINE(HAVE_GD_GIF_CREATE, 1, [ ])
AC_DEFINE(HAVE_GD_IMAGEELLIPSE, 1, [ ])
+ AC_DEFINE(HAVE_GD_DYNAMIC_CTX_EX, 1, [ ])
dnl Make sure the libgd/ is first in the include path
GDLIB_CFLAGS="-DHAVE_LIBPNG"
http://cvs.php.net/diff.php/php-src/ext/gd/gd.c?r1=1.221.2.43&r2=1.221.2.44&ty=u
Index: php-src/ext/gd/gd.c
diff -u php-src/ext/gd/gd.c:1.221.2.43 php-src/ext/gd/gd.c:1.221.2.44
--- php-src/ext/gd/gd.c:1.221.2.43 Thu Jul 22 22:28:51 2004
+++ php-src/ext/gd/gd.c Mon Jul 26 20:27:10 2004
@@ -18,7 +18,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: gd.c,v 1.221.2.43 2004/07/23 02:28:51 edink Exp $ */
+/* $Id: gd.c,v 1.221.2.44 2004/07/27 00:27:10 iliaa Exp $ */
/* gd 1.2 is copyright 1994, 1995, Quest Protein Database Center,
Cold Spring Harbor Labs. */
@@ -107,6 +107,10 @@
int gdImageColorClosestHWB(gdImagePtr im, int r, int g, int b);
#endif
+#ifndef HAVE_GD_DYNAMIC_CTX_EX
+#define gdNewDynamicCtxEx(len, data, val) gdNewDynamicCtx(len, data)
+#endif
+
static gdImagePtr _php_image_create_from_string (zval **Data, char *tn, gdImagePtr
(*ioctx_func_p)() TSRMLS_DC);
static void _php_image_create_from(INTERNAL_FUNCTION_PARAMETERS, int image_type, char
*tn, gdImagePtr (*func_p)(), gdImagePtr (*ioctx_func_p)());
static void _php_image_output(INTERNAL_FUNCTION_PARAMETERS, int image_type, char *tn,
void (*func_p)());
@@ -1242,7 +1246,7 @@
#ifdef HAVE_GD_WBMP
else {
gdIOCtx *io_ctx;
- io_ctx = gdNewDynamicCtx (8, data);
+ io_ctx = gdNewDynamicCtxEx (8, data, 0);
if (io_ctx) {
if (getmbi((int(*)(void*))gdGetC, io_ctx) == 0 &&
skipheader((int(*)(void*))gdGetC, io_ctx) == 0 ) {
#if HAVE_LIBGD204
@@ -1274,7 +1278,7 @@
gdImagePtr im;
gdIOCtx *io_ctx;
- io_ctx = gdNewDynamicCtx (Z_STRLEN_PP(data), Z_STRVAL_PP(data));
+ io_ctx = gdNewDynamicCtxEx(Z_STRLEN_PP(data), Z_STRVAL_PP(data), 0);
if (!io_ctx) {
return NULL;
@@ -1428,7 +1432,7 @@
goto out_err;
}
- io_ctx = gdNewDynamicCtx(buff_size, buff);
+ io_ctx = gdNewDynamicCtxEx(buff_size, buff, 0);
if(!io_ctx) {
php_error_docref(NULL TSRMLS_CC, E_WARNING,"Cannot allocate GD
IO context");
goto out_err;
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php