summaryrefslogtreecommitdiff
path: root/main/php_variables.c
diff options
context:
space:
mode:
Diffstat (limited to 'main/php_variables.c')
-rw-r--r--main/php_variables.c71
1 files changed, 34 insertions, 37 deletions
diff --git a/main/php_variables.c b/main/php_variables.c
index fef905ff7d..898eafa767 100644
--- a/main/php_variables.c
+++ b/main/php_variables.c
@@ -43,14 +43,14 @@ PHPAPI void php_register_variable(char *var, char *strval, zval *track_vars_arra
}
/* binary-safe version */
-PHPAPI void php_register_variable_safe(char *var, char *strval, int str_len, zval *track_vars_array TSRMLS_DC)
+PHPAPI void php_register_variable_safe(char *var, char *strval, php_size_t str_len, zval *track_vars_array TSRMLS_DC)
{
zval new_entry;
assert(strval != NULL);
/* Prepare value */
- Z_STRLEN(new_entry) = str_len;
- Z_STRVAL(new_entry) = estrndup(strval, Z_STRLEN(new_entry));
+ Z_STRSIZE(new_entry) = str_len;
+ Z_STRVAL(new_entry) = estrndup(strval, Z_STRSIZE(new_entry));
Z_TYPE(new_entry) = IS_STRING;
php_register_variable_ex(var, &new_entry, track_vars_array TSRMLS_CC);
@@ -62,7 +62,7 @@ PHPAPI void php_register_variable_ex(char *var_name, zval *val, zval *track_vars
char *ip = NULL; /* index pointer */
char *index;
char *var, *var_orig;
- int var_len, index_len;
+ php_size_t var_len, index_len;
zval *gpc_element, **gpc_element_p;
zend_bool is_array = 0;
HashTable *symtable1 = NULL;
@@ -128,7 +128,7 @@ PHPAPI void php_register_variable_ex(char *var_name, zval *val, zval *track_vars
int nest_level = 0;
while (1) {
char *index_s;
- int new_idx_len = 0;
+ php_size_t new_idx_len = 0;
if(++nest_level > PG(max_input_nesting_level)) {
HashTable *ht;
@@ -144,7 +144,7 @@ PHPAPI void php_register_variable_ex(char *var_name, zval *val, zval *track_vars
/* do not output the error message to the screen,
this helps us to to avoid "information disclosure" */
if (!PG(display_errors)) {
- php_error_docref(NULL TSRMLS_CC, E_WARNING, "Input variable nesting level exceeded %ld. To increase the limit change max_input_nesting_level in php.ini.", PG(max_input_nesting_level));
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Input variable nesting level exceeded " ZEND_INT_FMT ". To increase the limit change max_input_nesting_level in php.ini.", PG(max_input_nesting_level));
}
free_alloca(var_orig, use_heap);
return;
@@ -243,8 +243,7 @@ static zend_bool add_post_var(zval *arr, post_var_data_t *var, zend_bool eof TSR
{
char *ksep, *vsep;
size_t klen, vlen;
- /* FIXME: string-size_t */
- unsigned int new_vlen;
+ php_size_t new_vlen;
if (var->ptr >= var->end) {
return 0;
@@ -449,13 +448,12 @@ SAPI_API SAPI_TREAT_DATA_FUNC(php_default_treat_data)
}
if (++count > PG(max_input_vars)) {
- php_error_docref(NULL TSRMLS_CC, E_WARNING, "Input variables exceeded %ld. To increase the limit change max_input_vars in php.ini.", PG(max_input_vars));
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Input variables exceeded " ZEND_INT_FMT ". To increase the limit change max_input_vars in php.ini.", PG(max_input_vars));
break;
}
if (val) { /* have a value */
- int val_len;
- unsigned int new_val_len;
+ php_size_t val_len, new_val_len;
*val++ = '\0';
php_url_decode(var, strlen(var));
@@ -466,8 +464,7 @@ SAPI_API SAPI_TREAT_DATA_FUNC(php_default_treat_data)
}
efree(val);
} else {
- int val_len;
- unsigned int new_val_len;
+ php_size_t val_len, new_val_len;
php_url_decode(var, strlen(var));
val_len = 0;
@@ -494,7 +491,7 @@ void _php_import_environment_variables(zval *array_ptr TSRMLS_DC)
{
char buf[128];
char **env, *p, *t = buf;
- size_t alloc_size = sizeof(buf);
+ php_size_t alloc_size = sizeof(buf);
unsigned long nlen; /* ptrdiff_t is not portable */
for (env = environ; env != NULL && *env != NULL; env++) {
@@ -516,7 +513,7 @@ void _php_import_environment_variables(zval *array_ptr TSRMLS_DC)
}
}
-zend_bool php_std_auto_global_callback(char *name, uint name_len TSRMLS_DC)
+zend_bool php_std_auto_global_callback(char *name, php_size_t name_len TSRMLS_DC)
{
zend_printf("%s\n", name);
return 0; /* don't rearm */
@@ -543,8 +540,8 @@ static void php_build_argv(char *s, zval *track_vars_array TSRMLS_DC)
for (i = 0; i < SG(request_info).argc; i++) {
ALLOC_ZVAL(tmp);
Z_TYPE_P(tmp) = IS_STRING;
- Z_STRLEN_P(tmp) = strlen(SG(request_info).argv[i]);
- Z_STRVAL_P(tmp) = estrndup(SG(request_info).argv[i], Z_STRLEN_P(tmp));
+ Z_STRSIZE_P(tmp) = strlen(SG(request_info).argv[i]);
+ Z_STRVAL_P(tmp) = estrndup(SG(request_info).argv[i], Z_STRSIZE_P(tmp));
INIT_PZVAL(tmp);
if (zend_hash_next_index_insert(Z_ARRVAL_P(arr), &tmp, sizeof(zval *), NULL) == FAILURE) {
if (Z_TYPE_P(tmp) == IS_STRING) {
@@ -562,8 +559,8 @@ static void php_build_argv(char *s, zval *track_vars_array TSRMLS_DC)
/* auto-type */
ALLOC_ZVAL(tmp);
Z_TYPE_P(tmp) = IS_STRING;
- Z_STRLEN_P(tmp) = strlen(ss);
- Z_STRVAL_P(tmp) = estrndup(ss, Z_STRLEN_P(tmp));
+ Z_STRSIZE_P(tmp) = strlen(ss);
+ Z_STRVAL_P(tmp) = estrndup(ss, Z_STRSIZE_P(tmp));
INIT_PZVAL(tmp);
count++;
if (zend_hash_next_index_insert(Z_ARRVAL_P(arr), &tmp, sizeof(zval *), NULL) == FAILURE) {
@@ -583,11 +580,11 @@ static void php_build_argv(char *s, zval *track_vars_array TSRMLS_DC)
/* prepare argc */
ALLOC_INIT_ZVAL(argc);
if (SG(request_info).argc) {
- Z_LVAL_P(argc) = SG(request_info).argc;
+ Z_IVAL_P(argc) = SG(request_info).argc;
} else {
- Z_LVAL_P(argc) = count;
+ Z_IVAL_P(argc) = count;
}
- Z_TYPE_P(argc) = IS_LONG;
+ Z_TYPE_P(argc) = IS_INT;
if (SG(request_info).argc) {
Z_ADDREF_P(arr);
@@ -641,8 +638,8 @@ static inline void php_register_server_variables(TSRMLS_D)
Z_TYPE(request_time_float) = IS_DOUBLE;
Z_DVAL(request_time_float) = sapi_get_request_time(TSRMLS_C);
php_register_variable_ex("REQUEST_TIME_FLOAT", &request_time_float, array_ptr TSRMLS_CC);
- Z_TYPE(request_time_long) = IS_LONG;
- Z_LVAL(request_time_long) = zend_dval_to_lval(Z_DVAL(request_time_float));
+ Z_TYPE(request_time_long) = IS_INT;
+ Z_IVAL(request_time_long) = zend_dval_to_ival(Z_DVAL(request_time_float));
php_register_variable_ex("REQUEST_TIME", &request_time_long, array_ptr TSRMLS_CC);
}
@@ -655,8 +652,8 @@ static void php_autoglobal_merge(HashTable *dest, HashTable *src TSRMLS_DC)
{
zval **src_entry, **dest_entry;
char *string_key;
- uint string_key_len;
- ulong num_key;
+ php_size_t string_key_len;
+ zend_uint_t num_key;
HashPosition pos;
int key_type;
int globals_check = (dest == (&EG(symbol_table)));
@@ -666,7 +663,7 @@ static void php_autoglobal_merge(HashTable *dest, HashTable *src TSRMLS_DC)
key_type = zend_hash_get_current_key_ex(src, &string_key, &string_key_len, &num_key, 0, &pos);
if (Z_TYPE_PP(src_entry) != IS_ARRAY
|| (key_type == HASH_KEY_IS_STRING && zend_hash_find(dest, string_key, string_key_len, (void **) &dest_entry) != SUCCESS)
- || (key_type == HASH_KEY_IS_LONG && zend_hash_index_find(dest, num_key, (void **)&dest_entry) != SUCCESS)
+ || (key_type == HASH_KEY_IS_INT && zend_hash_index_find(dest, num_key, (void **)&dest_entry) != SUCCESS)
|| Z_TYPE_PP(dest_entry) != IS_ARRAY
) {
Z_ADDREF_PP(src_entry);
@@ -688,9 +685,9 @@ static void php_autoglobal_merge(HashTable *dest, HashTable *src TSRMLS_DC)
}
/* }}} */
-static zend_bool php_auto_globals_create_server(const char *name, uint name_len TSRMLS_DC);
-static zend_bool php_auto_globals_create_env(const char *name, uint name_len TSRMLS_DC);
-static zend_bool php_auto_globals_create_request(const char *name, uint name_len TSRMLS_DC);
+static zend_bool php_auto_globals_create_server(const char *name, php_size_t name_len TSRMLS_DC);
+static zend_bool php_auto_globals_create_env(const char *name, php_size_t name_len TSRMLS_DC);
+static zend_bool php_auto_globals_create_request(const char *name, php_size_t name_len TSRMLS_DC);
/* {{{ php_hash_environment
*/
@@ -705,7 +702,7 @@ PHPAPI int php_hash_environment(TSRMLS_D)
}
/* }}} */
-static zend_bool php_auto_globals_create_get(const char *name, uint name_len TSRMLS_DC)
+static zend_bool php_auto_globals_create_get(const char *name, php_size_t name_len TSRMLS_DC)
{
zval *vars;
@@ -728,7 +725,7 @@ static zend_bool php_auto_globals_create_get(const char *name, uint name_len TSR
return 0; /* don't rearm */
}
-static zend_bool php_auto_globals_create_post(const char *name, uint name_len TSRMLS_DC)
+static zend_bool php_auto_globals_create_post(const char *name, php_size_t name_len TSRMLS_DC)
{
zval *vars;
@@ -755,7 +752,7 @@ static zend_bool php_auto_globals_create_post(const char *name, uint name_len TS
return 0; /* don't rearm */
}
-static zend_bool php_auto_globals_create_cookie(const char *name, uint name_len TSRMLS_DC)
+static zend_bool php_auto_globals_create_cookie(const char *name, php_size_t name_len TSRMLS_DC)
{
zval *vars;
@@ -778,7 +775,7 @@ static zend_bool php_auto_globals_create_cookie(const char *name, uint name_len
return 0; /* don't rearm */
}
-static zend_bool php_auto_globals_create_files(const char *name, uint name_len TSRMLS_DC)
+static zend_bool php_auto_globals_create_files(const char *name, php_size_t name_len TSRMLS_DC)
{
zval *vars;
@@ -797,7 +794,7 @@ static zend_bool php_auto_globals_create_files(const char *name, uint name_len T
return 0; /* don't rearm */
}
-static zend_bool php_auto_globals_create_server(const char *name, uint name_len TSRMLS_DC)
+static zend_bool php_auto_globals_create_server(const char *name, php_size_t name_len TSRMLS_DC)
{
if (PG(variables_order) && (strchr(PG(variables_order),'S') || strchr(PG(variables_order),'s'))) {
php_register_server_variables(TSRMLS_C);
@@ -835,7 +832,7 @@ static zend_bool php_auto_globals_create_server(const char *name, uint name_len
return 0; /* don't rearm */
}
-static zend_bool php_auto_globals_create_env(const char *name, uint name_len TSRMLS_DC)
+static zend_bool php_auto_globals_create_env(const char *name, php_size_t name_len TSRMLS_DC)
{
zval *env_vars = NULL;
ALLOC_ZVAL(env_vars);
@@ -856,7 +853,7 @@ static zend_bool php_auto_globals_create_env(const char *name, uint name_len TSR
return 0; /* don't rearm */
}
-static zend_bool php_auto_globals_create_request(const char *name, uint name_len TSRMLS_DC)
+static zend_bool php_auto_globals_create_request(const char *name, php_size_t name_len TSRMLS_DC)
{
zval *form_variables;
unsigned char _gpc_flags[3] = {0, 0, 0};