]> granicus.if.org Git - php/commitdiff
- Fixed bug #54680 (missing TRACK_VARS_SERVER check)
authorFelipe Pena <felipe@php.net>
Sun, 12 Jun 2011 02:47:48 +0000 (02:47 +0000)
committerFelipe Pena <felipe@php.net>
Sun, 12 Jun 2011 02:47:48 +0000 (02:47 +0000)
ext/standard/basic_functions.c

index df2d56f4911d50532ade422a6c494f954d3b0c40..ee74bd2959462474ed2d79219b419d54c7915090 100644 (file)
@@ -4226,7 +4226,8 @@ PHP_FUNCTION(getopt)
        /* Get argv from the global symbol table. We calculate argc ourselves
         * in order to be on the safe side, even though it is also available
         * from the symbol table. */
-       if ((zend_hash_find(HASH_OF(PG(http_globals)[TRACK_VARS_SERVER]), "argv", sizeof("argv"), (void **) &args) != FAILURE ||
+       if (PG(http_globals)[TRACK_VARS_SERVER] &&
+               (zend_hash_find(HASH_OF(PG(http_globals)[TRACK_VARS_SERVER]), "argv", sizeof("argv"), (void **) &args) != FAILURE ||
                zend_hash_find(&EG(symbol_table), "argv", sizeof("argv"), (void **) &args) != FAILURE) && Z_TYPE_PP(args) == IS_ARRAY
        ) {
                int pos = 0;