#!/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
*/
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;
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:
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;