]> granicus.if.org Git - php/commitdiff
Fixed coredump due to abnormal implemention of phar
authorXinchen Hui <laruence@php.net>
Mon, 4 Nov 2013 06:42:54 +0000 (14:42 +0800)
committerXinchen Hui <laruence@php.net>
Mon, 4 Nov 2013 06:42:54 +0000 (14:42 +0800)
ext/phar/util.c

index 97b70a9d95fc3fc787920f532142a17704ee03a1..f2271dffd4d4a275e63e1d51fa20b24193679997 100644 (file)
@@ -1187,7 +1187,8 @@ phar_entry_info * phar_open_jit(phar_archive_data *phar, phar_entry_info *entry,
 
 PHP_PHAR_API int phar_resolve_alias(char *alias, int alias_len, char **filename, int *filename_len TSRMLS_DC) /* {{{ */ {
        phar_archive_data **fd_ptr;
-       if (SUCCESS == zend_hash_find(&(PHAR_GLOBALS->phar_alias_map), alias, alias_len, (void**)&fd_ptr)) {
+       if (PHAR_GLOBALS->phar_alias_map.arBuckets
+                       && SUCCESS == zend_hash_find(&(PHAR_GLOBALS->phar_alias_map), alias, alias_len, (void**)&fd_ptr)) {
                *filename = (*fd_ptr)->fname;
                *filename_len = (*fd_ptr)->fname_len;
                return SUCCESS;