diff options
Diffstat (limited to 'Zend')
| -rw-r--r-- | Zend/zend.h | 8 | ||||
| -rw-r--r-- | Zend/zend_API.c | 91 | ||||
| -rw-r--r-- | Zend/zend_API.h | 12 | ||||
| -rw-r--r-- | Zend/zend_builtin_functions.c | 4 | ||||
| -rw-r--r-- | Zend/zend_compile.c | 10 | ||||
| -rw-r--r-- | Zend/zend_execute.c | 60 | ||||
| -rw-r--r-- | Zend/zend_execute_API.c | 9 | ||||
| -rw-r--r-- | Zend/zend_operators.c | 3 |
8 files changed, 122 insertions, 75 deletions
diff --git a/Zend/zend.h b/Zend/zend.h index a97f473f9e..d99fae9cc9 100644 --- a/Zend/zend.h +++ b/Zend/zend.h @@ -284,16 +284,16 @@ END_EXTERN_C() #define INIT_ZVAL(z) z = zval_used_for_init; -#define ALLOC_ZVAL() (zval *) emalloc(sizeof(zval)) +#define ALLOC_ZVAL(z) (z) = (zval *) emalloc(sizeof(zval)) #define FREE_ZVAL(z) efree(z) #define ALLOC_INIT_ZVAL(zp) \ - (zp) = ALLOC_ZVAL(); \ + ALLOC_ZVAL(zp); \ INIT_ZVAL(*zp); #define MAKE_STD_ZVAL(zv) \ - zv = ALLOC_ZVAL(); \ + ALLOC_ZVAL(zv); \ INIT_PZVAL(zv); #define SEPARATE_ZVAL(ppzv) \ @@ -302,7 +302,7 @@ END_EXTERN_C() \ if (orig_ptr->refcount>1) { \ orig_ptr->refcount--; \ - *(ppzv) = ALLOC_ZVAL(); \ + ALLOC_ZVAL(*(ppzv)); \ **(ppzv) = *orig_ptr; \ zval_copy_ctor(*(ppzv)); \ (*(ppzv))->refcount=1; \ diff --git a/Zend/zend_API.c b/Zend/zend_API.c index 70f891835f..0cd1433ce1 100644 --- a/Zend/zend_API.c +++ b/Zend/zend_API.c @@ -58,7 +58,7 @@ ZEND_API int zend_get_parameters(int ht, int param_count,...) if (!PZVAL_IS_REF(param_ptr) && param_ptr->refcount>1) { zval *new_tmp; - new_tmp = ALLOC_ZVAL(); + ALLOC_ZVAL(new_tmp); *new_tmp = *param_ptr; zval_copy_ctor(new_tmp); INIT_PZVAL(new_tmp); @@ -95,7 +95,7 @@ ZEND_API int zend_get_parameters_array(int ht, int param_count, zval **argument_ if (!PZVAL_IS_REF(param_ptr) && param_ptr->refcount>1) { zval *new_tmp; - new_tmp = ALLOC_ZVAL(); + ALLOC_ZVAL(new_tmp); *new_tmp = *param_ptr; zval_copy_ctor(new_tmp); INIT_PZVAL(new_tmp); @@ -230,8 +230,9 @@ ZEND_API inline int add_assoc_function(zval *arg, char *key,void (*function_ptr) ZEND_API inline int add_assoc_long(zval *arg, char *key, long n) { - zval *tmp = ALLOC_ZVAL(); + zval *tmp; + ALLOC_ZVAL(tmp); tmp->type = IS_LONG; tmp->value.lval = n; INIT_PZVAL(tmp); @@ -241,8 +242,9 @@ ZEND_API inline int add_assoc_long(zval *arg, char *key, long n) ZEND_API inline int add_assoc_bool(zval *arg, char *key, int b) { - zval *tmp = ALLOC_ZVAL(); + zval *tmp; + ALLOC_ZVAL(tmp); tmp->type = IS_BOOL; tmp->value.lval = b; INIT_PZVAL(tmp); @@ -252,8 +254,9 @@ ZEND_API inline int add_assoc_bool(zval *arg, char *key, int b) ZEND_API inline int add_assoc_resource(zval *arg, char *key, int r) { - zval *tmp = ALLOC_ZVAL(); + zval *tmp; + ALLOC_ZVAL(tmp); tmp->type = IS_RESOURCE; tmp->value.lval = r; INIT_PZVAL(tmp); @@ -263,8 +266,9 @@ ZEND_API inline int add_assoc_resource(zval *arg, char *key, int r) ZEND_API inline int add_assoc_double(zval *arg, char *key, double d) { - zval *tmp = ALLOC_ZVAL(); + zval *tmp; + ALLOC_ZVAL(tmp); tmp->type = IS_DOUBLE; tmp->value.dval = d; INIT_PZVAL(tmp); @@ -274,8 +278,9 @@ ZEND_API inline int add_assoc_double(zval *arg, char *key, double d) ZEND_API inline int add_assoc_string(zval *arg, char *key, char *str, int duplicate) { - zval *tmp = ALLOC_ZVAL(); + zval *tmp; + ALLOC_ZVAL(tmp); tmp->type = IS_STRING; tmp->value.str.len = strlen(str); if (duplicate) { @@ -290,8 +295,9 @@ ZEND_API inline int add_assoc_string(zval *arg, char *key, char *str, int duplic ZEND_API inline int add_assoc_stringl(zval *arg, char *key, char *str, uint length, int duplicate) { - zval *tmp = ALLOC_ZVAL(); + zval *tmp; + ALLOC_ZVAL(tmp); tmp->type = IS_STRING; tmp->value.str.len = length; if (duplicate) { @@ -306,8 +312,9 @@ ZEND_API inline int add_assoc_stringl(zval *arg, char *key, char *str, uint leng ZEND_API inline int add_index_long(zval *arg, uint index, long n) { - zval *tmp = ALLOC_ZVAL(); + zval *tmp; + ALLOC_ZVAL(tmp); tmp->type = IS_LONG; tmp->value.lval = n; INIT_PZVAL(tmp); @@ -317,8 +324,9 @@ ZEND_API inline int add_index_long(zval *arg, uint index, long n) ZEND_API inline int add_index_bool(zval *arg, uint index, int b) { - zval *tmp = ALLOC_ZVAL(); + zval *tmp; + ALLOC_ZVAL(tmp); tmp->type = IS_BOOL; tmp->value.lval = b; INIT_PZVAL(tmp); @@ -328,8 +336,9 @@ ZEND_API inline int add_index_bool(zval *arg, uint index, int b) ZEND_API inline int add_index_resource(zval *arg, uint index, int r) { - zval *tmp = ALLOC_ZVAL(); + zval *tmp; + ALLOC_ZVAL(tmp); tmp->type = IS_RESOURCE; tmp->value.lval = r; INIT_PZVAL(tmp); @@ -339,8 +348,9 @@ ZEND_API inline int add_index_resource(zval *arg, uint index, int r) ZEND_API inline int add_index_double(zval *arg, uint index, double d) { - zval *tmp = ALLOC_ZVAL(); + zval *tmp; + ALLOC_ZVAL(tmp); tmp->type = IS_DOUBLE; tmp->value.dval = d; INIT_PZVAL(tmp); @@ -350,8 +360,9 @@ ZEND_API inline int add_index_double(zval *arg, uint index, double d) ZEND_API inline int add_index_string(zval *arg, uint index, char *str, int duplicate) { - zval *tmp = ALLOC_ZVAL(); + zval *tmp; + ALLOC_ZVAL(tmp); tmp->type = IS_STRING; tmp->value.str.len = strlen(str); if (duplicate) { @@ -366,8 +377,9 @@ ZEND_API inline int add_index_string(zval *arg, uint index, char *str, int dupli ZEND_API inline int add_index_stringl(zval *arg, uint index, char *str, uint length, int duplicate) { - zval *tmp = ALLOC_ZVAL(); + zval *tmp; + ALLOC_ZVAL(tmp); tmp->type = IS_STRING; tmp->value.str.len = length; if (duplicate) { @@ -382,8 +394,9 @@ ZEND_API inline int add_index_stringl(zval *arg, uint index, char *str, uint len ZEND_API inline int add_next_index_long(zval *arg, long n) { - zval *tmp = ALLOC_ZVAL(); + zval *tmp; + ALLOC_ZVAL(tmp); tmp->type = IS_LONG; tmp->value.lval = n; INIT_PZVAL(tmp); @@ -393,8 +406,9 @@ ZEND_API inline int add_next_index_long(zval *arg, long n) ZEND_API inline int add_next_index_bool(zval *arg, int b) { - zval *tmp = ALLOC_ZVAL(); + zval *tmp; + ALLOC_ZVAL(tmp); tmp->type = IS_BOOL; tmp->value.lval = b; INIT_PZVAL(tmp); @@ -404,8 +418,9 @@ ZEND_API inline int add_next_index_bool(zval *arg, int b) ZEND_API inline int add_next_index_resource(zval *arg, int r) { - zval *tmp = ALLOC_ZVAL(); + zval *tmp; + ALLOC_ZVAL(tmp); tmp->type = IS_RESOURCE; tmp->value.lval = r; INIT_PZVAL(tmp); @@ -415,8 +430,9 @@ ZEND_API inline int add_next_index_resource(zval *arg, int r) ZEND_API inline int add_next_index_double(zval *arg, double d) { - zval *tmp = ALLOC_ZVAL(); + zval *tmp; + ALLOC_ZVAL(tmp); tmp->type = IS_DOUBLE; tmp->value.dval = d; INIT_PZVAL(tmp); @@ -426,8 +442,9 @@ ZEND_API inline int add_next_index_double(zval *arg, double d) ZEND_API inline int add_next_index_string(zval *arg, char *str, int duplicate) { - zval *tmp = ALLOC_ZVAL(); + zval *tmp; + ALLOC_ZVAL(tmp); tmp->type = IS_STRING; tmp->value.str.len = strlen(str); if (duplicate) { @@ -442,8 +459,9 @@ ZEND_API inline int add_next_index_string(zval *arg, char *str, int duplicate) ZEND_API inline int add_next_index_stringl(zval *arg, char *str, uint length, int duplicate) { - zval *tmp = ALLOC_ZVAL(); + zval *tmp; + ALLOC_ZVAL(tmp); tmp->type = IS_STRING; tmp->value.str.len = length; if (duplicate) { @@ -458,8 +476,9 @@ ZEND_API inline int add_next_index_stringl(zval *arg, char *str, uint length, in ZEND_API inline int add_get_assoc_string(zval *arg, char *key, char *str, void **dest, int duplicate) { - zval *tmp = ALLOC_ZVAL(); + zval *tmp; + ALLOC_ZVAL(tmp); tmp->type = IS_STRING; tmp->value.str.len = strlen(str); if (duplicate) { @@ -474,8 +493,9 @@ ZEND_API inline int add_get_assoc_string(zval *arg, char *key, char *str, void * ZEND_API inline int add_get_assoc_stringl(zval *arg, char *key, char *str, uint length, void **dest, int duplicate) { - zval *tmp = ALLOC_ZVAL(); + zval *tmp; + ALLOC_ZVAL(tmp); tmp->type = IS_STRING; tmp->value.str.len = length; if (duplicate) { @@ -490,8 +510,9 @@ ZEND_API inline int add_get_assoc_stringl(zval *arg, char *key, char *str, uint ZEND_API inline int add_get_index_long(zval *arg, uint index, long l, void **dest) { - zval *tmp = ALLOC_ZVAL(); + zval *tmp; + ALLOC_ZVAL(tmp); tmp->type = IS_LONG; tmp->value.lval = l; INIT_PZVAL(tmp); @@ -501,8 +522,9 @@ ZEND_API inline int add_get_index_long(zval *arg, uint index, long l, void **des ZEND_API inline int add_get_index_double(zval *arg, uint index, double d, void **dest) { - zval *tmp = ALLOC_ZVAL(); + zval *tmp; + ALLOC_ZVAL(tmp); tmp->type = IS_DOUBLE; tmp->value.dval= d; INIT_PZVAL(tmp); @@ -512,8 +534,9 @@ ZEND_API inline int add_get_index_double(zval *arg, uint index, double d, void * ZEND_API inline int add_get_index_string(zval *arg, uint index, char *str, void **dest, int duplicate) { - zval *tmp = ALLOC_ZVAL(); + zval *tmp; + ALLOC_ZVAL(tmp); tmp->type = IS_STRING; tmp->value.str.len = strlen(str); if (duplicate) { @@ -528,8 +551,9 @@ ZEND_API inline int add_get_index_string(zval *arg, uint index, char *str, void ZEND_API inline int add_get_index_stringl(zval *arg, uint index, char *str, uint length, void **dest, int duplicate) { - zval *tmp = ALLOC_ZVAL(); + zval *tmp; + ALLOC_ZVAL(tmp); tmp->type = IS_STRING; tmp->value.str.len = length; if (duplicate) { @@ -544,8 +568,9 @@ ZEND_API inline int add_get_index_stringl(zval *arg, uint index, char *str, uint ZEND_API inline int add_property_long(zval *arg, char *key, long n) { - zval *tmp = ALLOC_ZVAL(); + zval *tmp; + ALLOC_ZVAL(tmp); tmp->type = IS_LONG; tmp->value.lval = n; INIT_PZVAL(tmp); @@ -554,8 +579,9 @@ ZEND_API inline int add_property_long(zval *arg, char *key, long n) ZEND_API inline int add_property_resource(zval *arg, char *key, long n) { - zval *tmp = ALLOC_ZVAL(); + zval *tmp; + ALLOC_ZVAL(tmp); tmp->type = IS_RESOURCE; tmp->value.lval = n; INIT_PZVAL(tmp); @@ -565,8 +591,9 @@ ZEND_API inline int add_property_resource(zval *arg, char *key, long n) ZEND_API inline int add_property_double(zval *arg, char *key, double d) { - zval *tmp = ALLOC_ZVAL(); + zval *tmp; + ALLOC_ZVAL(tmp); tmp->type = IS_DOUBLE; tmp->value.dval = d; INIT_PZVAL(tmp); @@ -576,8 +603,9 @@ ZEND_API inline int add_property_double(zval *arg, char *key, double d) ZEND_API inline int add_property_string(zval *arg, char *key, char *str, int duplicate) { - zval *tmp = ALLOC_ZVAL(); + zval *tmp; + ALLOC_ZVAL(tmp); tmp->type = IS_STRING; tmp->value.str.len = strlen(str); if (duplicate) { @@ -592,8 +620,9 @@ ZEND_API inline int add_property_string(zval *arg, char *key, char *str, int dup ZEND_API inline int add_property_stringl(zval *arg, char *key, char *str, uint length, int duplicate) { - zval *tmp = ALLOC_ZVAL(); + zval *tmp; + ALLOC_ZVAL(tmp); tmp->type = IS_STRING; tmp->value.str.len = length; if (duplicate) { diff --git a/Zend/zend_API.h b/Zend/zend_API.h index 701a95d900..070bb09fcc 100644 --- a/Zend/zend_API.h +++ b/Zend/zend_API.h @@ -212,9 +212,10 @@ ZEND_API int zend_set_hash_symbol(zval *symbol, char *name, int name_length, #define SET_VAR_STRING(n,v) { \ { \ - zval *var = ALLOC_ZVAL(); \ + zval *var; \ char *str=(v); /* prevent 'v' from being evaluated more than once */ \ \ + ALLOC_ZVAL(var); \ var->value.str.val = (str); \ var->value.str.len = strlen((str)); \ var->type = IS_STRING; \ @@ -224,8 +225,9 @@ ZEND_API int zend_set_hash_symbol(zval *symbol, char *name, int name_length, #define SET_VAR_STRINGL(n,v,l) { \ { \ - zval *var = ALLOC_ZVAL(); \ + zval *var; \ \ + ALLOC_ZVAL(var); \ var->value.str.val = (v); \ var->value.str.len = (l); \ var->type = IS_STRING; \ @@ -235,8 +237,9 @@ ZEND_API int zend_set_hash_symbol(zval *symbol, char *name, int name_length, #define SET_VAR_LONG(n,v) { \ { \ - zval *var = ALLOC_ZVAL(); \ + zval *var; \ \ + ALLOC_ZVAL(var); \ var->value.lval = (v); \ var->type = IS_LONG; \ ZEND_SET_GLOBAL_VAR(n, var); \ @@ -245,8 +248,9 @@ ZEND_API int zend_set_hash_symbol(zval *symbol, char *name, int name_length, #define SET_VAR_DOUBLE(n,v) { \ { \ - zval *var = ALLOC_ZVAL(); \ + zval *var; \ \ + ALLOC_ZVAL(var); \ var->value.dval = (v); \ var->type = IS_DOUBLE; \ ZEND_SET_GLOBAL_VAR(n, var); \ diff --git a/Zend/zend_builtin_functions.c b/Zend/zend_builtin_functions.c index f7137b912f..22fe6b1b0c 100644 --- a/Zend/zend_builtin_functions.c +++ b/Zend/zend_builtin_functions.c @@ -162,7 +162,7 @@ ZEND_FUNCTION(func_get_args) for (i=0; i<arg_count; i++) { zval *element; - element = ALLOC_ZVAL(); + ALLOC_ZVAL(element); *element = **((zval **) (p-(arg_count-i))); zval_copy_ctor(element); INIT_PZVAL(element); @@ -239,7 +239,7 @@ ZEND_FUNCTION(each) /* add value elements */ if (entry->is_ref) { - tmp = ALLOC_ZVAL(); + ALLOC_ZVAL(tmp); *tmp = *entry; zval_copy_ctor(tmp); tmp->is_ref=0; diff --git a/Zend/zend_compile.c b/Zend/zend_compile.c index 473cadbfac..38be21fe3f 100644 --- a/Zend/zend_compile.c +++ b/Zend/zend_compile.c @@ -1498,7 +1498,9 @@ void do_end_class_declaration(CLS_D) void do_declare_property(znode *var_name, znode *value CLS_DC) { if (value) { - zval *property = ALLOC_ZVAL(); + zval *property; + + ALLOC_ZVAL(property); *property = value->u.constant; zend_hash_update(&CG(active_class_entry)->default_properties, var_name->u.constant.value.str.val, var_name->u.constant.value.str.len+1, &property, sizeof(zval *), NULL); @@ -1687,8 +1689,9 @@ void do_add_array_element(znode *result, znode *expr, znode *offset, int is_ref void do_add_static_array_element(znode *result, znode *offset, znode *expr) { - zval *element = ALLOC_ZVAL(); + zval *element; + ALLOC_ZVAL(element); *element = expr->u.constant; if (offset) { switch (offset->u.constant.type) { @@ -1807,8 +1810,9 @@ void do_fetch_global_or_static_variable(znode *varname, znode *static_assignment znode lval; if (fetch_type==ZEND_FETCH_STATIC && static_assignment) { - zval *tmp = ALLOC_ZVAL(); + zval *tmp; + ALLOC_ZVAL(tmp); convert_to_string(&varname->u.constant); *tmp = static_assignment->u.constant; if (!CG(active_op_array)->static_variables) { diff --git a/Zend/zend_execute.c b/Zend/zend_execute.c index 932646265c..8a1bf5a74f 100644 --- a/Zend/zend_execute.c +++ b/Zend/zend_execute.c @@ -354,7 +354,7 @@ static inline void zend_assign_to_variable(znode *result, znode *op1, znode *op2 if (PZVAL_IS_LOCKED(value)) { zval *orig_value = value; - value = ALLOC_ZVAL(); + ALLOC_ZVAL(value); *value = *orig_value; value->refcount=0; zval_copy_ctor(value); @@ -392,7 +392,7 @@ static inline void zend_assign_to_variable(znode *result, znode *op1, znode *op2 if (PZVAL_IS_LOCKED(value)) { zval *orig_value = value; - value = ALLOC_ZVAL(); + ALLOC_ZVAL(value); *value = *orig_value; value->refcount=0; zval_copy_ctor(value); @@ -401,7 +401,8 @@ static inline void zend_assign_to_variable(znode *result, znode *op1, znode *op2 /* break missing intentionally */ case IS_CONST: if (PZVAL_IS_REF(value) && value->refcount > 0) { - variable_ptr = *variable_ptr_ptr = ALLOC_ZVAL(); + ALLOC_ZVAL(variable_ptr); + *variable_ptr_ptr = variable_ptr; *variable_ptr = *value; zval_copy_ctor(variable_ptr); variable_ptr->refcount=1; @@ -411,7 +412,7 @@ static inline void zend_assign_to_variable(znode *result, znode *op1, znode *op2 value->refcount++; break; case IS_TMP_VAR: - (*variable_ptr_ptr) = ALLOC_ZVAL(); + ALLOC_ZVAL(*variable_ptr_ptr); value->refcount=1; **variable_ptr_ptr = *value; break; @@ -661,7 +662,8 @@ static inline void zend_fetch_dimension_address(znode *result, znode *op1, znode if (!PZVAL_IS_REF(container)) { container->refcount--; if (container->refcount>0) { - container = *container_ptr = ALLOC_ZVAL(); + ALLOC_ZVAL(container); + *container_ptr = container; container->is_ref=0; } container->refcount=1; @@ -675,7 +677,7 @@ static inline void zend_fetch_dimension_address(znode *result, znode *op1, znode case IS_ARRAY: if ((type==BP_VAR_W || type==BP_VAR_RW) && container->refcount>1 && !PZVAL_IS_REF(container)) { container->refcount--; - *container_ptr = ALLOC_ZVAL(); + ALLOC_ZVAL(*container_ptr); **container_ptr = *container; container = *container_ptr; INIT_PZVAL(container); @@ -836,7 +838,8 @@ static inline void zend_fetch_property_address(znode *result, znode *op1, znode if (!PZVAL_IS_REF(container)) { container->refcount--; if (container->refcount>0) { - container = *container_ptr = ALLOC_ZVAL(); + ALLOC_ZVAL(container); + *container_ptr = container; container->is_ref=0; } container->refcount=1; @@ -863,7 +866,7 @@ static inline void zend_fetch_property_address(znode *result, znode *op1, znode if ((type==BP_VAR_W || type==BP_VAR_RW) && container->refcount>1 && !PZVAL_IS_REF(container)) { container->refcount--; - *container_ptr = ALLOC_ZVAL(); + ALLOC_ZVAL(*container_ptr); **container_ptr = *container; container = *container_ptr; INIT_PZVAL(container); @@ -959,8 +962,9 @@ void execute(zend_op_array *op_array ELS_DC) #endif if (op_array->uses_globals) { - zval *globals = ALLOC_ZVAL(); + zval *globals; + ALLOC_ZVAL(globals); globals->refcount=1; globals->is_ref=1; globals->type = IS_ARRAY; @@ -1089,7 +1093,7 @@ binary_assign_op_addr: { zval *orig_var=*var_ptr; (*var_ptr)->refcount--; - *var_ptr = ALLOC_ZVAL(); + ALLOC_ZVAL(*var_ptr); **var_ptr = *orig_var; zendi_zval_copy_ctor(**var_ptr); (*var_ptr)->refcount=1; @@ -1134,7 +1138,7 @@ binary_assign_op_addr: { zval *orig_var = *var_ptr; (*var_ptr)->refcount--; - *var_ptr = ALLOC_ZVAL(); + ALLOC_ZVAL(*var_ptr); **var_ptr = *orig_var; zendi_zval_copy_ctor(**var_ptr); (*var_ptr)->refcount=1; @@ -1502,7 +1506,7 @@ do_fcall_common: Ts[opline->result.u.var].var.ptr_ptr = &Ts[opline->result.u.var].var.ptr; if (function_state.function->type==ZEND_INTERNAL_FUNCTION) { - Ts[opline->result.u.var].var.ptr = ALLOC_ZVAL(); + ALLOC_ZVAL(Ts[opline->result.u.var].var.ptr); INIT_ZVAL(*(Ts[opline->result.u.var].var.ptr)); ((zend_internal_function *) function_state.function)->handler(opline->extended_value, Ts[opline->result.u.var].var.ptr, &EG(regular_list), &EG(persistent_list), object.ptr, return_value_used); if (object.ptr) { @@ -1546,7 +1550,7 @@ do_fcall_common: zend_execute(EG(active_op_array) ELS_CC); if (return_value_used && !Ts[opline->result.u.var].var.ptr) { - Ts[opline->result.u.var].var.ptr = ALLOC_ZVAL(); + ALLOC_ZVAL(Ts[opline->result.u.var].var.ptr); INIT_ZVAL(*Ts[opline->result.u.var].var.ptr); } else if (!return_value_used && Ts[opline->result.u.var].var.ptr) { zval_ptr_dtor(&Ts[opline->result.u.var].var.ptr); @@ -1563,7 +1567,7 @@ do_fcall_common: } EG(active_symbol_table) = calling_symbol_table; } else { /* ZEND_OVERLOADED_FUNCTION */ - Ts[opline->result.u.var].var.ptr = ALLOC_ZVAL(); + ALLOC_ZVAL(Ts[opline->result.u.var].var.ptr); INIT_ZVAL(*(Ts[opline->result.u.var].var.ptr)); call_overloaded_function(opline->extended_value, Ts[opline->result.u.var].var.ptr, &EG(regular_list), &EG(persistent_list) ELS_CC); efree(fbc); @@ -1602,7 +1606,7 @@ do_fcall_common: if (!EG(free_op1)) { /* Not a temp var */ if (PZVAL_IS_REF(retval_ptr) && retval_ptr->refcount > 0) { - *(EG(return_value_ptr_ptr)) = ALLOC_ZVAL(); + ALLOC_ZVAL(*(EG(return_value_ptr_ptr))); **EG(return_value_ptr_ptr) = *retval_ptr; (*EG(return_value_ptr_ptr))->is_ref = 0; (*EG(return_value_ptr_ptr))->refcount = 1; @@ -1612,7 +1616,7 @@ do_fcall_common: retval_ptr->refcount++; } } else { - *(EG(return_value_ptr_ptr))= ALLOC_ZVAL(); + ALLOC_ZVAL(*(EG(return_value_ptr_ptr))); **EG(return_value_ptr_ptr) = *retval_ptr; (*EG(return_value_ptr_ptr))->refcount = 1; (*EG(return_value_ptr_ptr))->is_ref = 0; @@ -1632,8 +1636,9 @@ do_fcall_common: zend_error(E_ERROR, "Cannot pass parameter %d by reference", opline->op2.u.opline_num); } { - zval *valptr = ALLOC_ZVAL(); + zval *valptr; + ALLOC_ZVAL(valptr); *valptr = Ts[opline->op1.u.var].tmp_var; INIT_PZVAL(valptr); zend_ptr_stack_push(&EG(argument_stack), valptr); @@ -1651,13 +1656,13 @@ do_fcall_common: RESUME_GARBAGE(); if (varptr == &EG(uninitialized_zval)) { - varptr = ALLOC_ZVAL(); + ALLOC_ZVAL(varptr); INIT_ZVAL(*varptr); varptr->refcount = 0; } else if (PZVAL_IS_REF(varptr)) { zval *original_var = varptr; - varptr = ALLOC_ZVAL(); + ALLOC_ZVAL(varptr); *varptr = *original_var; varptr->is_ref = 0; varptr->refcount = 0; @@ -1682,7 +1687,7 @@ send_by_ref: /* code to break away this variable */ if (varptr->refcount>1) { varptr->refcount--; - *varptr_ptr = ALLOC_ZVAL(); + ALLOC_ZVAL(*varptr_ptr); **varptr_ptr = *varptr; varptr = *varptr_ptr; varptr->refcount = 1; @@ -1721,9 +1726,10 @@ send_by_ref: break; } if (opline->op2.u.constant.type == IS_CONSTANT) { - zval *default_value = ALLOC_ZVAL(); + zval *default_value; zval tmp; + ALLOC_ZVAL(default_value); *default_value = opline->op2.u.constant; if (!zend_get_constant(default_value->value.str.val, default_value->value.str.len, &tmp)) { default_value->type = IS_STRING; @@ -1886,8 +1892,9 @@ send_by_ref: } } if (opline->op1.op_type == IS_TMP_VAR) { /* temporary variable */ - zval *new_expr = ALLOC_ZVAL(); + zval *new_expr; + ALLOC_ZVAL(new_expr); *new_expr = *expr_ptr; expr_ptr = new_expr; INIT_PZVAL(expr_ptr); @@ -1900,8 +1907,9 @@ send_by_ref: } expr_ptr->refcount++; } else if (PZVAL_IS_REF(expr_ptr)) { - zval *new_expr = ALLOC_ZVAL(); + zval *new_expr; + ALLOC_ZVAL(new_expr); *new_expr = *expr_ptr; expr_ptr = new_expr; zendi_zval_copy_ctor(*expr_ptr); @@ -1994,7 +2002,7 @@ send_by_ref: } } else { /* return value is used */ if (!Ts[opline->result.u.var].var.ptr) { /* there was no return statement */ - Ts[opline->result.u.var].var.ptr = ALLOC_ZVAL(); + ALLOC_ZVAL(Ts[opline->result.u.var].var.ptr); INIT_PZVAL(Ts[opline->result.u.var].var.ptr); Ts[opline->result.u.var].var.ptr->value.lval = 1; Ts[opline->result.u.var].var.ptr->type = IS_LONG; @@ -2008,7 +2016,7 @@ send_by_ref: efree(new_op_array); } else { if (return_value_used) { - Ts[opline->result.u.var].var.ptr = ALLOC_ZVAL(); + ALLOC_ZVAL(Ts[opline->result.u.var].var.ptr); INIT_ZVAL(*Ts[opline->result.u.var].var.ptr); } } @@ -2104,7 +2112,7 @@ send_by_ref: (*value)->refcount++; zend_hash_index_update(result->value.ht, 0, value, sizeof(zval *), NULL); - key = ALLOC_ZVAL(); + ALLOC_ZVAL(key); INIT_PZVAL(key); switch (zend_hash_get_current_key(array->value.ht, &str_key, &int_key)) { case HASH_KEY_IS_STRING: diff --git a/Zend/zend_execute_API.c b/Zend/zend_execute_API.c index c05da31205..4be74a6472 100644 --- a/Zend/zend_execute_API.c +++ b/Zend/zend_execute_API.c @@ -344,7 +344,7 @@ int call_user_function_ex(HashTable *function_table, zval *object, zval *functio if (no_separation) { return FAILURE; } - new_zval = ALLOC_ZVAL(); + ALLOC_ZVAL(new_zval); *new_zval = **params[i]; zval_copy_ctor(new_zval); new_zval->refcount = 1; @@ -358,7 +358,7 @@ int call_user_function_ex(HashTable *function_table, zval *object, zval *functio (*params[i])->refcount++; param = *params[i]; } else { - param = ALLOC_ZVAL(); + ALLOC_ZVAL(param); *param = **(params[i]); INIT_PZVAL(param); } @@ -373,8 +373,9 @@ int call_user_function_ex(HashTable *function_table, zval *object, zval *functio EG(active_symbol_table) = (HashTable *) emalloc(sizeof(HashTable)); zend_hash_init(EG(active_symbol_table), 0, NULL, ZVAL_PTR_DTOR, 0); if (object) { - zval *dummy = ALLOC_ZVAL(), **this_ptr; + zval *dummy, **this_ptr; + ALLOC_ZVAL(dummy); INIT_ZVAL(*dummy); zend_hash_update_ptr(EG(active_symbol_table), "this", sizeof("this"), dummy, sizeof(zval *), (void **) &this_ptr); @@ -494,7 +495,7 @@ ZEND_API inline void zend_assign_to_variable_reference(znode *result, zval **var /* break it away */ value_ptr->refcount--; if (value_ptr->refcount>0) { - *value_ptr_ptr = ALLOC_ZVAL(); + ALLOC_ZVAL(*value_ptr_ptr); **value_ptr_ptr = *value_ptr; value_ptr = *value_ptr_ptr; zendi_zval_copy_ctor(*value_ptr); diff --git a/Zend/zend_operators.c b/Zend/zend_operators.c index 60f568a3df..6256155f3e 100644 --- a/Zend/zend_operators.c +++ b/Zend/zend_operators.c @@ -339,8 +339,9 @@ ZEND_API void convert_to_string(zval *op) static void convert_scalar_to_array(zval *op, int type) { - zval *entry = ALLOC_ZVAL(); + zval *entry; + ALLOC_ZVAL(entry); *entry = *op; INIT_PZVAL(entry); |
