diff options
author | Ilia Alshanetsky <iliaa@php.net> | 2002-12-07 16:05:27 +0000 |
---|---|---|
committer | Ilia Alshanetsky <iliaa@php.net> | 2002-12-07 16:05:27 +0000 |
commit | 683251eba3cb971eaeeca3ed24e8f55bcff4533b (patch) | |
tree | 3ac7942f4735403f4cedfbe8fecc9c2dd8eea556 /main/php_variables.c | |
parent | c087d9e9e498ff60e245c0235993cc7b05a56154 (diff) | |
download | php-git-683251eba3cb971eaeeca3ed24e8f55bcff4533b.tar.gz |
Fixed bug #20796. $_GET/$_POST/$_COOKIE data can get overwritten when
register_globals are on and input contains arrays.
Diffstat (limited to 'main/php_variables.c')
-rw-r--r-- | main/php_variables.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/main/php_variables.c b/main/php_variables.c index 73e19a856a..fbf762ee3e 100644 --- a/main/php_variables.c +++ b/main/php_variables.c @@ -70,15 +70,15 @@ PHPAPI void php_register_variable_ex(char *var, zval *val, pval *track_vars_arra assert(var != NULL); - if (PG(register_globals)) { - symtable1 = EG(active_symbol_table); - } if (track_vars_array) { + symtable1 = Z_ARRVAL_P(track_vars_array); + } + if (PG(register_globals)) { if (symtable1) { - symtable2 = Z_ARRVAL_P(track_vars_array); + symtable2 = EG(active_symbol_table); } else { - symtable1 = Z_ARRVAL_P(track_vars_array); - } + symtable1 = EG(active_symbol_table); + } } if (!symtable1) { /* Nothing to do */ |