summaryrefslogtreecommitdiff
path: root/sapi/cgi/cgi_main.c
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@php.net>2012-02-02 12:58:54 +0000
committerDmitry Stogov <dmitry@php.net>2012-02-02 12:58:54 +0000
commit87c038be06b8b0eb721270f98c858fd701f5d54b (patch)
tree682da688bcacfe588fc87f290b7eac18ba3ab1bf /sapi/cgi/cgi_main.c
parent89bc5ece51dde3edcb63fb8429d544cdcf8f1b60 (diff)
downloadphp-git-87c038be06b8b0eb721270f98c858fd701f5d54b.tar.gz
Always restore PG(magic_quote_gpc) on request shutdown
Diffstat (limited to 'sapi/cgi/cgi_main.c')
-rw-r--r--sapi/cgi/cgi_main.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/sapi/cgi/cgi_main.c b/sapi/cgi/cgi_main.c
index 609ec8a9ac..6444781747 100644
--- a/sapi/cgi/cgi_main.c
+++ b/sapi/cgi/cgi_main.c
@@ -624,7 +624,9 @@ void cgi_php_import_environment_variables(zval *array_ptr TSRMLS_DC)
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;
+ if (PG(magic_quotes_gpc)) {
+ zend_alter_ini_entry_ex("magic_quotes_gpc", sizeof("magic_quotes_gpc"), "0", 1, ZEND_INI_SYSTEM, ZEND_INI_STAGE_ACTIVATE, 1 TSRMLS_CC);
+ }
for (zend_hash_internal_pointer_reset_ex(request->env, &pos);
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;