From: Greg Beaver Date: Mon, 21 Apr 2008 18:06:20 +0000 (+0000) Subject: fix Phar::running() X-Git-Tag: RELEASE_2_0_0b1~277 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=e0873a380d4676040e0cb28dc4fbd588a2a83177;p=php fix Phar::running() --- diff --git a/ext/phar/phar_object.c b/ext/phar/phar_object.c index e50092b195..fdfac0eb3c 100755 --- a/ext/phar/phar_object.c +++ b/ext/phar/phar_object.c @@ -453,7 +453,7 @@ PHP_METHOD(Phar, running) fname = zend_get_executed_filename(TSRMLS_C); fname_len = strlen(fname); - if (SUCCESS == phar_split_fname(fname, fname_len, &arch, &arch_len, &entry, &entry_len, 2, 0 TSRMLS_CC)) { + if (fname_len > 7 && !memcmp(fname, "phar://", 7) && SUCCESS == phar_split_fname(fname, fname_len, &arch, &arch_len, &entry, &entry_len, 2, 0 TSRMLS_CC)) { efree(entry); if (retphar) { RETVAL_STRINGL(fname, arch_len + 7, 1); @@ -463,7 +463,7 @@ PHP_METHOD(Phar, running) RETURN_STRINGL(arch, arch_len, 0); } } - RETURN_STRING("", 0); + RETURN_STRINGL("", 0, 1); } /* }}} */ diff --git a/ext/phar/tests/phar_running.phpt b/ext/phar/tests/phar_running.phpt new file mode 100644 index 0000000000..2d132b9ac7 --- /dev/null +++ b/ext/phar/tests/phar_running.phpt @@ -0,0 +1,29 @@ +--TEST-- +Phar: Phar::running() +--SKIPIF-- + +--INI-- +phar.readonly=0 +--FILE-- +'; +include $pname . '/index.php'; +var_dump(Phar::running()); +?> +===DONE=== +--CLEAN-- + +--EXPECTF-- +Warning: Phar::running() expects parameter 1 to be boolean, array given in phar://%sphar_running.phar.php/index.php on line 2 +string(%d) "phar://%sphar_running.phar.php" +string(%d) "%sphar_running.phar.php" +string(0) "" +===DONE===