Re: cvs: php-src /main output.c
| From: | Jani Taskinen | Date: | Mon, 18 Aug 2008 10:23:29 +0000 |
| Subject: | Re: cvs: php-src /main output.c | ||
| References: | 1 | Groups: | php.cvs |
| Request: | Send a blank email to php-cvs+get-52482@lists.php.net to get a copy of this message | ||
FYI: I remember seeing several (!) bug reports about something like this. I noticed you closed at least one, but there might be more..
--Jani
Arnaud Le Blanc wrote:
lbarnaud Mon Aug 18 03:54:50 2008 UTCModified files: /php-src/main output.c Log:update buffer size after having effectively realloc()ed it when appending data to an output buffer # may caused some problems if erealloc() failed here because of memory # limit ("memory limit exhausted" error message then written to # the buffer, etc) http://cvs.php.net/viewvc.cgi/php-src/main/output.c?r1=1.210&r2=1.211&diff_format=u Index: php-src/main/output.c diff -u php-src/main/output.c:1.210 php-src/main/output.c:1.211 --- php-src/main/output.c:1.210 Tue Mar 4 23:39:15 2008 +++ php-src/main/output.c Mon Aug 18 03:54:49 2008 @@ -19,7 +19,7 @@+----------------------------------------------------------------------+*/ -/* $Id: output.c,v 1.210 2008/03/04 23:39:15 felipe Exp $ */ +/* $Id: output.c,v 1.211 2008/08/18 03:54:49 lbarnaud Exp $ */ #ifndef PHP_OUTPUT_DEBUG # define PHP_OUTPUT_DEBUG 0 @@ -913,7 +913,8 @@ size_t grow_buf = PHP_OUTPUT_HANDLER_INITBUF_SIZE(buf->used - (handler->buffer.size - handler->buffer.used)); size_t grow_max = MAX(grow_int, grow_buf); - handler->buffer.data = erealloc(handler->buffer.data, handler->buffer.size += grow_max); + handler->buffer.data = erealloc(handler->buffer.data, handler->buffer.size + grow_max); + handler->buffer.size += grow_max; } memcpy(handler->buffer.data + handler->buffer.used, buf->data, buf->used); handler->buffer.used += buf->used;