#20368 [Opn->Csd]: Gd 2.0.4 (and possibly previous ones)
| From: | derick@php.net | Date: | Mon, 11 Nov 2002 20:46:43 +0000 |
| Subject: | #20368 [Opn->Csd]: Gd 2.0.4 (and possibly previous ones) | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-24619@lists.php.net to get a copy of this message | ||
ID: 20368
Updated by: derick@php.net
Reported By: einar@grep.no
-Status: Open
+Status: Closed
Bug Type: GD related
Operating System: Linux
PHP Version: 4.2.2
New Comment:
This bug has been fixed in CVS.
In case this was a PHP problem, snapshots of the sources are packaged
every three hours; this change will be in the next snapshot. You can
grab the snapshot at http://snaps.php.net/.
In case this was a documentation problem, the fix will show up soon at
http://www.php.net/manual/.
In case this was a PHP.net website problem, the change will show
up on the PHP.net site and on the mirror sites in short time.
Thank you for the report, and for helping us make PHP better.
Previous Comments:
------------------------------------------------------------------------
[2002-11-11 14:46:22] einar@grep.no
GD 2.0.4's gd_io header uses gd_free instead of free in its gdIOctx
structure.. This affect phproot/ext/gd/gd.c and
phproot/ext/gd/gd_ctx.c.. A mere 5 replacements must be done...
The following terribly simple patch can be applied, if anyone's lazy..
:P
diff -Naur php-4.2.3/ext/gd/gd.c php-4.2.3-gd2-2.0.4/ext/gd/gd.c
--- php-4.2.3/ext/gd/gd.c 2002-09-03 15:09:29.000000000 +0200
+++ php-4.2.3-gd2-2.0.4/ext/gd/gd.c 2002-11-11 21:35:30.000000000
+0100
@@ -1011,10 +1011,10 @@
io_ctx = gdNewDynamicCtx (8, data);
if (io_ctx) {
if (getmbi(gdGetC, io_ctx) == 0 &&
skipheader(gdGetC, io_ctx) == 0 ) {
- io_ctx->free(io_ctx);
+ io_ctx->gd_free(io_ctx);
return PHP_GDIMG_TYPE_WBM;
} else
- io_ctx->free(io_ctx);
+ io_ctx->gd_free(io_ctx);
}
}
#endif
@@ -1206,7 +1206,7 @@
} else {
im = (*ioctx_func_p)(io_ctx);
}
- io_ctx->free(io_ctx);
+ io_ctx->gd_free(io_ctx);
#endif
} else {
if (image_type == PHP_GDIMG_TYPE_GD2PART) {
diff -Naur php-4.2.3/ext/gd/gd_ctx.c
php-4.2.3-gd2-2.0.4/ext/gd/gd_ctx.c
--- php-4.2.3/ext/gd/gd_ctx.c 2001-08-05 18:21:29.000000000 +0200
+++ php-4.2.3-gd2-2.0.4/ext/gd/gd_ctx.c 2002-11-11 21:35:37.000000000
+0100
@@ -67,7 +67,7 @@
ctx = emalloc(sizeof(gdIOCtx));
ctx->putC = _php_image_output_putc;
ctx->putBuf = _php_image_output_putbuf;
- ctx->free = _php_image_output_ctxfree;
+ ctx->gd_free = _php_image_output_ctxfree;
#if APACHE && defined(CHARSET_EBCDIC)
/* XXX this is unlikely to work any more
thies@thieso.net */
@@ -95,7 +95,7 @@
break;
}
- ctx->free(ctx);
+ ctx->gd_free(ctx);
if(fp) {
fflush(fp);
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=20368&edit=1