cellog Sun May 18 23:41:17 2008 UTC Modified files: /php-src/ext/phar phar_object.c /php-src/ext/phar/tests config.xml front.phar.phpt /php-src/ext/phar/tests/files blog.phar Log: MFH fix mem leak, add test for previous segfault fix http://cvs.php.net/viewvc.cgi/php-src/ext/phar/phar_object.c?r1=1.272&r2=1.273&diff_format=u Index: php-src/ext/phar/phar_object.c diff -u php-src/ext/phar/phar_object.c:1.272 php-src/ext/phar/phar_object.c:1.273 --- php-src/ext/phar/phar_object.c:1.272 Sun May 18 23:12:47 2008 +++ php-src/ext/phar/phar_object.c Sun May 18 23:41:17 2008 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: phar_object.c,v 1.272 2008/05/18 23:12:47 cellog Exp $ */ +/* $Id: phar_object.c,v 1.273 2008/05/18 23:41:17 cellog Exp $ */ #include "phar_internal.h" #include "func_interceptors.h" @@ -555,16 +555,18 @@ testit = sapi_getenv("SCRIPT_NAME", sizeof("SCRIPT_NAME")-1 TSRMLS_CC); if (!(pt = strstr(testit, basename))) { + efree(testit); return; } path_info = sapi_getenv("PATH_INFO", sizeof("PATH_INFO")-1 TSRMLS_CC); if (path_info) { - entry = estrdup(path_info); + entry = path_info; entry_len = strlen(entry); spprintf(&path_info, 0, "%s%s", testit, path_info); free_pathinfo = 1; } else { path_info = testit; + free_pathinfo = 1; entry = estrndup("", 0); entry_len = 0; } http://cvs.php.net/viewvc.cgi/php-src/ext/phar/tests/config.xml?r1=1.1&r2=1.2&diff_format=u http://cvs.php.net/viewvc.cgi/php-src/ext/phar/tests/front.phar.phpt?r1=1.1&r2=1.2&diff_format=u Index: php-src/ext/phar/tests/front.phar.phpt diff -u /dev/null php-src/ext/phar/tests/front.phar.phpt:1.2 --- /dev/null Sun May 18 23:41:17 2008 +++ php-src/ext/phar/tests/front.phar.phpt Sun May 18 23:41:17 2008 @@ -0,0 +1,16 @@ +--TEST-- +Phar front controller with mounted external file +--INI-- +default_charset= +--SKIPIF-- +<?php if (!extension_loaded("phar")) die("skip"); ?> +--ENV-- +SCRIPT_NAME=/front.phar.php +REQUEST_URI=/front.phar.php/index.php +PATH_INFO=/index.php +--EXPECTHEADERS-- +Content-type: text/html +--FILE_EXTERNAL-- +files/blog.phar +--EXPECT-- +string(0) "" \ No newline at end of file http://cvs.php.net/viewvc.cgi/php-src/ext/phar/tests/files/blog.phar?r1=1.1&r2=1.2&diff_format=u Index: php-src/ext/phar/tests/files/blog.phar
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php