diff options
Diffstat (limited to 'main/php_variables.c')
-rw-r--r-- | main/php_variables.c | 71 |
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}; |