projects
/
m6w6
/
ext-http
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
|
github
raw
|
inline
| side by side
fix cookies
[m6w6/ext-http]
/
php_http_env.c
diff --git
a/php_http_env.c
b/php_http_env.c
index a2c3227ea94127d85a2b6b3dfc3bec3dcc8c8d3d..632562c38a91dc0d1cff50e613824e7d44c27c9b 100644
(file)
--- 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))) {
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) {
}
if (sapi_module.default_post_reader) {
@@
-53,9
+51,12
@@
PHP_RINIT_FUNCTION(http_env)
/*
* the rfc1867 handler is an awkward buddy
/*
* 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]);
*/
Z_TRY_ADDREF(PG(http_globals)[TRACK_VARS_FILES]);
- zend_hash_str_update(&EG(symbol_table).ht, "_FILES",
size
of("_FILES"), &PG(http_globals)[TRACK_VARS_FILES]);
+ zend_hash_str_update(&EG(symbol_table).ht, "_FILES",
len
of("_FILES"), &PG(http_globals)[TRACK_VARS_FILES]);
}
}
zend_hash_destroy(¶ms);
}
}
zend_hash_destroy(¶ms);
@@
-137,7
+138,7
@@
char *php_http_env_get_request_header(const char *name_str, size_t name_len, siz
request_headers = PHP_HTTP_G->env.request.headers;
}
request_headers = PHP_HTTP_G->env.request.headers;
}
- if ((zvalue =
=
zend_symtable_str_find(request_headers, key, name_len))) {
+ if ((zvalue = zend_symtable_str_find(request_headers, key, name_len))) {
zend_string *zs = zval_get_string(zvalue);
val = estrndup(zs->val, zs->len);
zend_string *zs = zval_get_string(zvalue);
val = estrndup(zs->val, zs->len);
@@
-813,6
+814,7
@@
static PHP_METHOD(HttpEnv, negotiateLanguage)
return;
}
if (rs_array) {
return;
}
if (rs_array) {
+ ZVAL_DEREF(rs_array);
zval_dtor(rs_array);
array_init(rs_array);
}
zval_dtor(rs_array);
array_init(rs_array);
}
@@
-833,6
+835,7
@@
static PHP_METHOD(HttpEnv, negotiateCharset)
return;
}
if (rs_array) {
return;
}
if (rs_array) {
+ ZVAL_DEREF(rs_array);
zval_dtor(rs_array);
array_init(rs_array);
}
zval_dtor(rs_array);
array_init(rs_array);
}
@@
-852,6
+855,7
@@
static PHP_METHOD(HttpEnv, negotiateEncoding)
return;
}
if (rs_array) {
return;
}
if (rs_array) {
+ ZVAL_DEREF(rs_array);
zval_dtor(rs_array);
array_init(rs_array);
}
zval_dtor(rs_array);
array_init(rs_array);
}
@@
-871,6
+875,7
@@
static PHP_METHOD(HttpEnv, negotiateContentType)
return;
}
if (rs_array) {
return;
}
if (rs_array) {
+ ZVAL_DEREF(rs_array);
zval_dtor(rs_array);
array_init(rs_array);
}
zval_dtor(rs_array);
array_init(rs_array);
}
@@
-894,8
+899,8
@@
static PHP_METHOD(HttpEnv, negotiate)
return;
}
return;
}
-
if (rs_array) {
if (rs_array) {
+ ZVAL_DEREF(rs_array);
zval_dtor(rs_array);
array_init(rs_array);
}
zval_dtor(rs_array);
array_init(rs_array);
}