X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=php_http_env.c;h=632562c38a91dc0d1cff50e613824e7d44c27c9b;hb=1f934bf6f8bf9343eac1fdc7fdba5959b8d062a1;hp=239af9812a25141cfbfc1885f05150315d41b8bd;hpb=c225008cfbcf90259e4c97f240b1422ebce67c88;p=m6w6%2Fext-http diff --git a/php_http_env.c b/php_http_env.c index 239af98..632562c 100644 --- a/php_http_env.c +++ b/php_http_env.c @@ -37,12 +37,10 @@ PHP_RINIT_FUNCTION(http_env) sapi_post_entry *post_entry = NULL; if ((post_entry = zend_hash_find_ptr(&SG(known_post_content_types), key_str))) { - if (post_entry) { - SG(request_info).post_entry = post_entry; + SG(request_info).post_entry = post_entry; - if (post_entry->post_reader) { - post_entry->post_reader(); - } + if (post_entry->post_reader) { + post_entry->post_reader(); } if (sapi_module.default_post_reader) { @@ -53,9 +51,12 @@ PHP_RINIT_FUNCTION(http_env) /* * the rfc1867 handler is an awkward buddy + * FIXME: this leaks because php_auto_globals_create_files() + * as well as the rfc1867_handler call + * array_init(&PG(http_globals)[TRACK_VARS_FILES]) */ Z_TRY_ADDREF(PG(http_globals)[TRACK_VARS_FILES]); - zend_hash_str_update(&EG(symbol_table).ht, "_FILES", sizeof("_FILES"), &PG(http_globals)[TRACK_VARS_FILES]); + zend_hash_str_update(&EG(symbol_table).ht, "_FILES", lenof("_FILES"), &PG(http_globals)[TRACK_VARS_FILES]); } } zend_hash_destroy(¶ms); @@ -813,6 +814,7 @@ static PHP_METHOD(HttpEnv, negotiateLanguage) return; } if (rs_array) { + ZVAL_DEREF(rs_array); zval_dtor(rs_array); array_init(rs_array); } @@ -833,6 +835,7 @@ static PHP_METHOD(HttpEnv, negotiateCharset) return; } if (rs_array) { + ZVAL_DEREF(rs_array); zval_dtor(rs_array); array_init(rs_array); } @@ -852,6 +855,7 @@ static PHP_METHOD(HttpEnv, negotiateEncoding) return; } if (rs_array) { + ZVAL_DEREF(rs_array); zval_dtor(rs_array); array_init(rs_array); } @@ -871,6 +875,7 @@ static PHP_METHOD(HttpEnv, negotiateContentType) return; } if (rs_array) { + ZVAL_DEREF(rs_array); zval_dtor(rs_array); array_init(rs_array); } @@ -894,8 +899,8 @@ static PHP_METHOD(HttpEnv, negotiate) return; } - if (rs_array) { + ZVAL_DEREF(rs_array); zval_dtor(rs_array); array_init(rs_array); }