--- php-5.1.6/ext/mbstring/mb_gpc.c.cve1286 +++ php-5.1.6/ext/mbstring/mb_gpc.c @@ -206,9 +206,8 @@ /* register_globals stuff * XXX: this feature is going to be deprecated? */ - if (info->force_register_globals) { - prev_rg_state = PG(register_globals); - PG(register_globals) = 1; + if (info->force_register_globals && !(prev_rg_state = PG(register_globals))) { + zend_alter_ini_entry("register_globals", sizeof("register_globals"), "1", sizeof("1")-1, PHP_INI_PERDIR, PHP_INI_STAGE_RUNTIME); } if (!res || *res == '\0') { @@ -341,8 +340,8 @@ out: /* register_global stuff */ - if (info->force_register_globals) { - PG(register_globals) = prev_rg_state; + if (info->force_register_globals && !prev_rg_state) { + zend_alter_ini_entry("register_globals", sizeof("register_globals"), "0", sizeof("0")-1, PHP_INI_PERDIR, PHP_INI_STAGE_RUNTIME); } if (convd != NULL) {