summaryrefslogtreecommitdiff
path: root/ext/phar/phar.c
diff options
context:
space:
mode:
authorGreg Beaver <cellog@php.net>2009-07-24 23:53:24 +0000
committerGreg Beaver <cellog@php.net>2009-07-24 23:53:24 +0000
commitd39fda5ff784dc9a7607cb4132b49b871dea9c47 (patch)
tree6971be86f6366f9fdae5dc3c1b3c3de6dab3827d /ext/phar/phar.c
parentac3657d6d4c78646663675ae4454f52f8883aa0c (diff)
downloadphp-git-d39fda5ff784dc9a7607cb4132b49b871dea9c47.tar.gz
begin work on making phar php6-ready
Diffstat (limited to 'ext/phar/phar.c')
-rw-r--r--ext/phar/phar.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/ext/phar/phar.c b/ext/phar/phar.c
index ec441ee04a..877a6663c9 100644
--- a/ext/phar/phar.c
+++ b/ext/phar/phar.c
@@ -1972,11 +1972,13 @@ woohoo:
if (keylen > (uint) filename_len) {
zend_hash_move_forward(&(PHAR_GLOBALS->phar_fname_map));
+ PHAR_STR_FREE(str_key);
continue;
}
if (!memcmp(filename, str_key, keylen) && ((uint)filename_len == keylen
|| filename[keylen] == '/' || filename[keylen] == '\0')) {
+ PHAR_STR_FREE(str_key);
if (FAILURE == zend_hash_get_current_data(&(PHAR_GLOBALS->phar_fname_map), (void **) &pphar)) {
break;
}
@@ -1984,6 +1986,7 @@ woohoo:
goto woohoo;
}
+ PHAR_STR_FREE(str_key);
zend_hash_move_forward(&(PHAR_GLOBALS->phar_fname_map));
}
@@ -1999,17 +2002,20 @@ woohoo:
if (keylen > (uint) filename_len) {
zend_hash_move_forward(&cached_phars);
+ PHAR_STR_FREE(str_key);
continue;
}
if (!memcmp(filename, str_key, keylen) && ((uint)filename_len == keylen
|| filename[keylen] == '/' || filename[keylen] == '\0')) {
+ PHAR_STR_FREE(str_key);
if (FAILURE == zend_hash_get_current_data(&cached_phars, (void **) &pphar)) {
break;
}
*ext_str = filename + (keylen - (*pphar)->ext_len);
goto woohoo;
}
+ PHAR_STR_FREE(str_key);
zend_hash_move_forward(&cached_phars);
}
}