diff -ru php5.2-200808081630/ext/mbstring/mb_gpc.c php5.2-200808081630.orig/ext/mbstring/mb_gpc.c --- php5.2-200808081630/ext/mbstring/mb_gpc.c 2007-12-31 16:33:30.000000000 +0900 +++ php5.2-200808081630.orig/ext/mbstring/mb_gpc.c 2008-08-10 21:02:03.842245152 +0900 @@ -154,8 +154,6 @@ info.num_from_encodings = MBSTRG(http_input_list_size); info.from_language = MBSTRG(language); - MBSTRG(illegalchars) = 0; - detected = _php_mb_encoding_handler_ex(&info, array_ptr, res TSRMLS_CC); MBSTRG(http_input_identify) = detected; diff -ru php5.2-200808081630/ext/mbstring/mbstring.c php5.2-200808081630.orig/ext/mbstring/mbstring.c --- php5.2-200808081630/ext/mbstring/mbstring.c 2008-08-05 07:38:30.000000000 +0900 +++ php5.2-200808081630.orig/ext/mbstring/mbstring.c 2008-08-10 21:08:44.218284734 +0900 @@ -930,6 +930,7 @@ sapi_register_post_entries(mbstr_post_entries TSRMLS_CC); sapi_register_treat_data(mbstr_treat_data); } + MBSTRG(illegalchars) = 0; REGISTER_LONG_CONSTANT("MB_OVERLOAD_MAIL", MB_OVERLOAD_MAIL, CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("MB_OVERLOAD_STRING", MB_OVERLOAD_STRING, CONST_CS | CONST_PERSISTENT); @@ -977,8 +978,6 @@ MBSTRG(current_filter_illegal_mode) = MBSTRG(filter_illegal_mode); MBSTRG(current_filter_illegal_substchar) = MBSTRG(filter_illegal_substchar); - MBSTRG(illegalchars) = 0; - n = 0; if (MBSTRG(detect_order_list)) { list = MBSTRG(detect_order_list); @@ -1077,6 +1076,8 @@ PHP_RSHUTDOWN(mb_regex) (INIT_FUNC_ARGS_PASSTHRU); #endif + MBSTRG(illegalchars) = 0; + return SUCCESS; } /* }}} */