From 84eb9cc145025f82c61ab7677761e3fb6bb2a93b Mon Sep 17 00:00:00 2001 From: Greg Beaver Date: Thu, 12 Jun 2008 18:46:58 +0000 Subject: [PATCH] ensure we don't try to use an unitialized hash table --- ext/phar/func_interceptors.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/ext/phar/func_interceptors.c b/ext/phar/func_interceptors.c index 4813b571b4..709f3b0f75 100644 --- a/ext/phar/func_interceptors.c +++ b/ext/phar/func_interceptors.c @@ -29,7 +29,7 @@ PHAR_FUNC(phar_opendir) /* {{{ */ int filename_len; zval *zcontext = NULL; - if (!zend_hash_num_elements(&(PHAR_GLOBALS->phar_fname_map))) { + if (!PHAR_GLOBALS->phar_fname_map.arBuckets || !zend_hash_num_elements(&(PHAR_GLOBALS->phar_fname_map))) { goto skip_phar; } if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|z", &filename, &filename_len, &zcontext) == FAILURE) { @@ -97,7 +97,7 @@ PHAR_FUNC(phar_file_get_contents) /* {{{ */ long maxlen = PHP_STREAM_COPY_ALL; zval *zcontext = NULL; - if (!zend_hash_num_elements(&(PHAR_GLOBALS->phar_fname_map))) { + if (!PHAR_GLOBALS->phar_fname_map.arBuckets || !zend_hash_num_elements(&(PHAR_GLOBALS->phar_fname_map))) { goto skip_phar; } /* Parse arguments */ @@ -222,7 +222,7 @@ PHAR_FUNC(phar_readfile) /* {{{ */ zval *zcontext = NULL; php_stream *stream; - if (!zend_hash_num_elements(&(PHAR_GLOBALS->phar_fname_map))) { + if (!PHAR_GLOBALS->phar_fname_map.arBuckets || !zend_hash_num_elements(&(PHAR_GLOBALS->phar_fname_map))) { goto skip_phar; } if (zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, ZEND_NUM_ARGS() TSRMLS_CC, "s|br!", &filename, &filename_len, &use_include_path, &zcontext) == FAILURE) { @@ -312,7 +312,7 @@ PHAR_FUNC(phar_fopen) /* {{{ */ zval *zcontext = NULL; php_stream *stream; - if (!zend_hash_num_elements(&(PHAR_GLOBALS->phar_fname_map))) { + if (!PHAR_GLOBALS->phar_fname_map.arBuckets || !zend_hash_num_elements(&(PHAR_GLOBALS->phar_fname_map))) { /* no need to check, include_path not even specified in fopen/ no active phars */ goto skip_phar; } @@ -869,7 +869,7 @@ PHAR_FUNC(phar_is_file) /* {{{ */ char *filename; int filename_len; - if (!zend_hash_num_elements(&(PHAR_GLOBALS->phar_fname_map))) { + if (!PHAR_GLOBALS->phar_fname_map.arBuckets || !zend_hash_num_elements(&(PHAR_GLOBALS->phar_fname_map))) { goto skip_phar; } if (zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, ZEND_NUM_ARGS() TSRMLS_CC, "s", &filename, &filename_len) == FAILURE) { @@ -929,7 +929,7 @@ PHAR_FUNC(phar_is_link) /* {{{ */ char *filename; int filename_len; - if (!zend_hash_num_elements(&(PHAR_GLOBALS->phar_fname_map))) { + if (!PHAR_GLOBALS->phar_fname_map.arBuckets || !zend_hash_num_elements(&(PHAR_GLOBALS->phar_fname_map))) { goto skip_phar; } if (zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, ZEND_NUM_ARGS() TSRMLS_CC, "s", &filename, &filename_len) == FAILURE) { -- 2.50.1