projects
/
m6w6
/
ext-http
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
|
github
raw
|
inline
| side by side
check string options for NULL
[m6w6/ext-http]
/
php_http_env.c
diff --git
a/php_http_env.c
b/php_http_env.c
index a2390b3284f08e88387f9742eadcec283a8f42bd..632562c38a91dc0d1cff50e613824e7d44c27c9b 100644
(file)
--- a/
php_http_env.c
+++ b/
php_http_env.c
@@
-33,16
+33,14
@@
PHP_RINIT_FUNCTION(http_env)
zend_string *key_str;
zend_ulong key_num;
zend_string *key_str;
zend_ulong key_num;
- if (HASH_KEY_IS_STRING == zend_hash_get_current_key
_ex(¶ms, &key_str, &key_num, NULL
)) {
+ if (HASH_KEY_IS_STRING == zend_hash_get_current_key
(¶ms, &key_str, &key_num
)) {
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);
}