Bug #12227: Output puffering causes Apache to SIGSEGV

From: Date: Wed, 18 Jul 2001 10:07:05 +0000
Subject: Bug #12227: Output puffering causes Apache to SIGSEGV
Groups: php.dev 
Request: Send a blank email to php-dev+get-60205@lists.php.net to get a copy of this message
From: brueckner@respublica.de Operating system: Linux 2.2.16-SMP PHP version: 4.0.6 PHP Bug Type: Output Control Bug description: Output puffering causes Apache to SIGSEGV When using ob_start() with a script included via auto_prepend_file and then doing something like this: ob_start("my_flush"); function my_flush($buffer) { $buffer = preg_replace("/(<!--REPLACE\\s.*?-->)/e", "parse(\"\\1\")", $buffer); return $buffer; } PHP 4.0.6 SIGSEGV's with this message in the error_log: [Wed Jul 18 11:55:08 2001] Script: '/home/htdocs/test.php' --------------------------------------- output.c(235) : Block 0x0824C940 status: Beginning: Overrun (magic=0x08294990, expected=0x7312F8DC) End: Unknown --------------------------------------- ./zend_execute.c(334) : Freeing 0x082A8CB4 (28131 bytes), script=/home/htdocs/test.php zend_variables.c(117) : Actual location (location was relayed) [Wed Jul 18 11:55:08 2001] [notice] child pid 30192 exit signal Segmentation fault (11) If I replace the line $buffer = preg_replace("/(<!--REPLACE\\s.*?-->)/e", "parse(\"\\1\")", $buffer); with $newbuffer = preg_replace("/(<!--REPLACE\\s.*?-->)/e", "parse(\"\\1\")", $buffer); it works fine. Any ideas for a fix? Harry -- Edit bug report at: http://bugs.php.net/?id=12227&edit=1

« previous php.dev (#60205) next »