dmitry Wed Nov 15 11:13:03 2006 UTC Modified files: (Branch: PHP_5_2) /php-src/sapi/cgi cgi_main.c Log: Fixed wrong ext/filter behavior. It didn't register FastCGI environment variables and made memory leaks. http://cvs.php.net/viewvc.cgi/php-src/sapi/cgi/cgi_main.c?r1=1.267.2.15.2.16&r2=1.267.2.15.2.17&diff_format=u Index: php-src/sapi/cgi/cgi_main.c diff -u php-src/sapi/cgi/cgi_main.c:1.267.2.15.2.16 php-src/sapi/cgi/cgi_main.c:1.267.2.15.2.17 --- php-src/sapi/cgi/cgi_main.c:1.267.2.15.2.16 Tue Nov 14 10:31:47 2006 +++ php-src/sapi/cgi/cgi_main.c Wed Nov 15 11:13:02 2006 @@ -21,7 +21,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: cgi_main.c,v 1.267.2.15.2.16 2006/11/14 10:31:47 dmitry Exp $ */ +/* $Id: cgi_main.c,v 1.267.2.15.2.17 2006/11/15 11:13:02 dmitry Exp $ */ #include "php.h" #include "php_globals.h" @@ -498,6 +498,7 @@ char *var, **val; uint var_len; ulong idx; + int filter_arg = (array_ptr == PG(http_globals)[TRACK_VARS_ENV])?PARSE_ENV:PARSE_SERVER; /* turn off magic_quotes while importing environment variables */ PG(magic_quotes_gpc) = 0; @@ -505,8 +506,8 @@ zend_hash_get_current_key_ex(&request->env, &var, &var_len, &idx, 0, &pos) == HASH_KEY_IS_STRING && zend_hash_get_current_data_ex(&request->env, (void **) &val, &pos) == SUCCESS; zend_hash_move_forward_ex(&request->env, &pos)) { - int new_val_len; - if (sapi_module.input_filter(PARSE_SERVER, var, val, strlen(*val), &new_val_len TSRMLS_CC)) { + unsigned int new_val_len; + if (sapi_module.input_filter(filter_arg, var, val, strlen(*val), &new_val_len TSRMLS_CC)) { php_register_variable_safe(var, *val, new_val_len, array_ptr TSRMLS_CC); } } @@ -517,7 +518,7 @@ static void sapi_cgi_register_variables(zval *track_vars_array TSRMLS_DC) { - int new_val_len; + unsigned int new_val_len; char *val = SG(request_info).request_uri ? SG(request_info).request_uri : ""; /* In CGI mode, we consider the environment to be a part of the server * variables
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php