- if (SUCCESS == zend_hash_find(HTTP_SERVER_VARS, (char *) key, key_size, (void **) &var)) {
- if (check) {
- return Z_STRVAL_PP(var) && Z_STRLEN_PP(var) ? *var : NULL;
- } else {
- return *var;
- }
+
+ if (SUCCESS != zend_hash_find(&EG(symbol_table), "HTTP_SERVER_VARS", sizeof("HTTP_SERVER_VARS"), (void **) &hsv)) {
+ return NULL;
+ }
+ if (SUCCESS != zend_hash_find(Z_ARRVAL_PP(hsv), (char *) key, key_size, (void **) &var)) {
+ return NULL;
+ }
+ if (check && !(Z_STRVAL_PP(var) && Z_STRLEN_PP(var))) {
+ return NULL;