From: Greg Beaver Date: Sun, 18 May 2008 23:41:17 +0000 (+0000) Subject: MFH fix mem leak, add test for previous segfault fix X-Git-Tag: BEFORE_HEAD_NS_CHANGE~1734 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=eb99aa475ebc06ab09a6c2204194910c58762c47;p=php MFH fix mem leak, add test for previous segfault fix --- diff --git a/ext/phar/phar_object.c b/ext/phar/phar_object.c index 1b4035a4a9..a8805ab2b2 100755 --- a/ext/phar/phar_object.c +++ b/ext/phar/phar_object.c @@ -555,16 +555,18 @@ PHP_METHOD(Phar, webPhar) 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; } diff --git a/ext/phar/tests/config.xml b/ext/phar/tests/config.xml new file mode 100644 index 0000000000..e69de29bb2 diff --git a/ext/phar/tests/files/blog.phar b/ext/phar/tests/files/blog.phar new file mode 100644 index 0000000000..16f8f7d590 Binary files /dev/null and b/ext/phar/tests/files/blog.phar differ diff --git a/ext/phar/tests/front.phar.phpt b/ext/phar/tests/front.phar.phpt new file mode 100644 index 0000000000..83c6a42284 --- /dev/null +++ b/ext/phar/tests/front.phar.phpt @@ -0,0 +1,16 @@ +--TEST-- +Phar front controller with mounted external file +--INI-- +default_charset= +--SKIPIF-- + +--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