cellog Sun May 18 23:12:47 2008 UTC Modified files: /php-src/ext/phar cgidebug phar_object.c Log: MFB fix segfault http://cvs.php.net/viewvc.cgi/php-src/ext/phar/cgidebug?r1=1.3&r2=1.4&diff_format=u Index: php-src/ext/phar/cgidebug diff -u php-src/ext/phar/cgidebug:1.3 php-src/ext/phar/cgidebug:1.4 --- php-src/ext/phar/cgidebug:1.3 Thu May 8 00:49:36 2008 +++ php-src/ext/phar/cgidebug Sun May 18 23:12:47 2008 @@ -1,11 +1,11 @@ #!/bin/sh -export SCRIPT_NAME=/frontcontroller34.php -export PATH_INFO=/start/index.php -export SCRIPT_FILENAME=/home/cellog/workspace/php5/ext/phar/tests/frontcontroller34.php -export PATH_TRANSLATED=/home/cellog/workspace/php5/ext/phar/tests/frontcontroller34.php +export SCRIPT_NAME=/front.phar.php +export PATH_INFO= +export SCRIPT_FILENAME=/home/cellog/workspace/php5/ext/phar/tests/front.phar.php +export PATH_TRANSLATED=/home/cellog/workspace/php5/ext/phar/tests/front.phar.php export REDIRECT_STATUS=1 export REQUEST_METHOD=GET -export REQUEST_URI=/frontcontroller34.php/start/index.php +export REQUEST_URI=/front.phar.php cd /home/cellog/workspace/php5/ ddd sapi/cgi/php-cgi & cd /home/cellog/workspace/php5/ext/phar http://cvs.php.net/viewvc.cgi/php-src/ext/phar/phar_object.c?r1=1.271&r2=1.272&diff_format=u Index: php-src/ext/phar/phar_object.c diff -u php-src/ext/phar/phar_object.c:1.271 php-src/ext/phar/phar_object.c:1.272 --- php-src/ext/phar/phar_object.c:1.271 Sat May 17 20:07:38 2008 +++ php-src/ext/phar/phar_object.c Sun May 18 23:12:47 2008 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: phar_object.c,v 1.271 2008/05/17 20:07:38 cellog Exp $ */ +/* $Id: phar_object.c,v 1.272 2008/05/18 23:12:47 cellog Exp $ */ #include "phar_internal.h" #include "func_interceptors.h" @@ -445,7 +445,7 @@ */ PHP_METHOD(Phar, mount) { - char *fname, *arch, *entry, *path, *actual; + char *fname, *arch = NULL, *entry = NULL, *path, *actual; int fname_len, arch_len, entry_len, path_len, actual_len; phar_archive_data **pphar; @@ -467,7 +467,9 @@ carry_on2: if (SUCCESS != zend_hash_find(&(PHAR_GLOBALS->phar_fname_map), arch, arch_len, (void **)&pphar)) { zend_throw_exception_ex(phar_ce_PharException, 0 TSRMLS_CC, "%s is not a phar archive, cannot mount", arch); - efree(arch); + if (arch) { + efree(arch); + } return; } carry_on: @@ -476,13 +478,17 @@ if (path && path == entry) { efree(entry); } - efree(arch); + if (arch) { + efree(arch); + } return; } - if (path && path == entry) { + if (entry && path && path == entry) { efree(entry); } - efree(arch); + if (arch) { + efree(arch); + } return; } else if (SUCCESS == zend_hash_find(&(PHAR_GLOBALS->phar_fname_map), fname, fname_len, (void **)&pphar)) { goto carry_on;
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php