mirror of
https://github.com/php/php-src.git
synced 2026-04-21 06:51:18 +02:00
Merge branch 'PHP-7.1'
* PHP-7.1: Fix the bug in ZEND_ASSIGN_DIM (as nikic suggest) Revert "Refix bug #73686"
This commit is contained in:
@@ -1094,10 +1094,6 @@ static zend_never_inline void zend_assign_to_object_dim(zval *object, zval *dim,
|
||||
return;
|
||||
}
|
||||
|
||||
if (UNEXPECTED(Z_ISREF_P(value))) {
|
||||
value = Z_REFVAL_P(value);
|
||||
}
|
||||
|
||||
Z_OBJ_HT_P(object)->write_dimension(object, dim, value);
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -2293,7 +2293,7 @@ ZEND_VM_C_LABEL(try_assign_dim_array):
|
||||
}
|
||||
if (EXPECTED(Z_TYPE_P(object_ptr) == IS_OBJECT)) {
|
||||
dim = GET_OP2_ZVAL_PTR(BP_VAR_R);
|
||||
value = GET_OP_DATA_ZVAL_PTR(BP_VAR_R);
|
||||
value = GET_OP_DATA_ZVAL_PTR_DEREF(BP_VAR_R);
|
||||
|
||||
zend_assign_to_object_dim(object_ptr, dim, value);
|
||||
|
||||
|
||||
+16
-16
@@ -19262,7 +19262,7 @@ try_assign_dim_array:
|
||||
}
|
||||
if (EXPECTED(Z_TYPE_P(object_ptr) == IS_OBJECT)) {
|
||||
dim = EX_CONSTANT(opline->op2);
|
||||
value = _get_zval_ptr_var((opline+1)->op1.var, execute_data, &free_op_data);
|
||||
value = _get_zval_ptr_var_deref((opline+1)->op1.var, execute_data, &free_op_data);
|
||||
|
||||
zend_assign_to_object_dim(object_ptr, dim, value);
|
||||
|
||||
@@ -19355,7 +19355,7 @@ try_assign_dim_array:
|
||||
}
|
||||
if (EXPECTED(Z_TYPE_P(object_ptr) == IS_OBJECT)) {
|
||||
dim = EX_CONSTANT(opline->op2);
|
||||
value = _get_zval_ptr_cv_BP_VAR_R(execute_data, (opline+1)->op1.var);
|
||||
value = _get_zval_ptr_cv_deref_BP_VAR_R(execute_data, (opline+1)->op1.var);
|
||||
|
||||
zend_assign_to_object_dim(object_ptr, dim, value);
|
||||
|
||||
@@ -21080,7 +21080,7 @@ try_assign_dim_array:
|
||||
}
|
||||
if (EXPECTED(Z_TYPE_P(object_ptr) == IS_OBJECT)) {
|
||||
dim = NULL;
|
||||
value = _get_zval_ptr_var((opline+1)->op1.var, execute_data, &free_op_data);
|
||||
value = _get_zval_ptr_var_deref((opline+1)->op1.var, execute_data, &free_op_data);
|
||||
|
||||
zend_assign_to_object_dim(object_ptr, dim, value);
|
||||
|
||||
@@ -21173,7 +21173,7 @@ try_assign_dim_array:
|
||||
}
|
||||
if (EXPECTED(Z_TYPE_P(object_ptr) == IS_OBJECT)) {
|
||||
dim = NULL;
|
||||
value = _get_zval_ptr_cv_BP_VAR_R(execute_data, (opline+1)->op1.var);
|
||||
value = _get_zval_ptr_cv_deref_BP_VAR_R(execute_data, (opline+1)->op1.var);
|
||||
|
||||
zend_assign_to_object_dim(object_ptr, dim, value);
|
||||
|
||||
@@ -23491,7 +23491,7 @@ try_assign_dim_array:
|
||||
}
|
||||
if (EXPECTED(Z_TYPE_P(object_ptr) == IS_OBJECT)) {
|
||||
dim = _get_zval_ptr_cv_BP_VAR_R(execute_data, opline->op2.var);
|
||||
value = _get_zval_ptr_var((opline+1)->op1.var, execute_data, &free_op_data);
|
||||
value = _get_zval_ptr_var_deref((opline+1)->op1.var, execute_data, &free_op_data);
|
||||
|
||||
zend_assign_to_object_dim(object_ptr, dim, value);
|
||||
|
||||
@@ -23584,7 +23584,7 @@ try_assign_dim_array:
|
||||
}
|
||||
if (EXPECTED(Z_TYPE_P(object_ptr) == IS_OBJECT)) {
|
||||
dim = _get_zval_ptr_cv_BP_VAR_R(execute_data, opline->op2.var);
|
||||
value = _get_zval_ptr_cv_BP_VAR_R(execute_data, (opline+1)->op1.var);
|
||||
value = _get_zval_ptr_cv_deref_BP_VAR_R(execute_data, (opline+1)->op1.var);
|
||||
|
||||
zend_assign_to_object_dim(object_ptr, dim, value);
|
||||
|
||||
@@ -26020,7 +26020,7 @@ try_assign_dim_array:
|
||||
}
|
||||
if (EXPECTED(Z_TYPE_P(object_ptr) == IS_OBJECT)) {
|
||||
dim = _get_zval_ptr_var(opline->op2.var, execute_data, &free_op2);
|
||||
value = _get_zval_ptr_var((opline+1)->op1.var, execute_data, &free_op_data);
|
||||
value = _get_zval_ptr_var_deref((opline+1)->op1.var, execute_data, &free_op_data);
|
||||
|
||||
zend_assign_to_object_dim(object_ptr, dim, value);
|
||||
|
||||
@@ -26113,7 +26113,7 @@ try_assign_dim_array:
|
||||
}
|
||||
if (EXPECTED(Z_TYPE_P(object_ptr) == IS_OBJECT)) {
|
||||
dim = _get_zval_ptr_var(opline->op2.var, execute_data, &free_op2);
|
||||
value = _get_zval_ptr_cv_BP_VAR_R(execute_data, (opline+1)->op1.var);
|
||||
value = _get_zval_ptr_cv_deref_BP_VAR_R(execute_data, (opline+1)->op1.var);
|
||||
|
||||
zend_assign_to_object_dim(object_ptr, dim, value);
|
||||
|
||||
@@ -37213,7 +37213,7 @@ try_assign_dim_array:
|
||||
}
|
||||
if (EXPECTED(Z_TYPE_P(object_ptr) == IS_OBJECT)) {
|
||||
dim = EX_CONSTANT(opline->op2);
|
||||
value = _get_zval_ptr_var((opline+1)->op1.var, execute_data, &free_op_data);
|
||||
value = _get_zval_ptr_var_deref((opline+1)->op1.var, execute_data, &free_op_data);
|
||||
|
||||
zend_assign_to_object_dim(object_ptr, dim, value);
|
||||
|
||||
@@ -37306,7 +37306,7 @@ try_assign_dim_array:
|
||||
}
|
||||
if (EXPECTED(Z_TYPE_P(object_ptr) == IS_OBJECT)) {
|
||||
dim = EX_CONSTANT(opline->op2);
|
||||
value = _get_zval_ptr_cv_BP_VAR_R(execute_data, (opline+1)->op1.var);
|
||||
value = _get_zval_ptr_cv_deref_BP_VAR_R(execute_data, (opline+1)->op1.var);
|
||||
|
||||
zend_assign_to_object_dim(object_ptr, dim, value);
|
||||
|
||||
@@ -40241,7 +40241,7 @@ try_assign_dim_array:
|
||||
}
|
||||
if (EXPECTED(Z_TYPE_P(object_ptr) == IS_OBJECT)) {
|
||||
dim = NULL;
|
||||
value = _get_zval_ptr_var((opline+1)->op1.var, execute_data, &free_op_data);
|
||||
value = _get_zval_ptr_var_deref((opline+1)->op1.var, execute_data, &free_op_data);
|
||||
|
||||
zend_assign_to_object_dim(object_ptr, dim, value);
|
||||
|
||||
@@ -40334,7 +40334,7 @@ try_assign_dim_array:
|
||||
}
|
||||
if (EXPECTED(Z_TYPE_P(object_ptr) == IS_OBJECT)) {
|
||||
dim = NULL;
|
||||
value = _get_zval_ptr_cv_BP_VAR_R(execute_data, (opline+1)->op1.var);
|
||||
value = _get_zval_ptr_cv_deref_BP_VAR_R(execute_data, (opline+1)->op1.var);
|
||||
|
||||
zend_assign_to_object_dim(object_ptr, dim, value);
|
||||
|
||||
@@ -43591,7 +43591,7 @@ try_assign_dim_array:
|
||||
}
|
||||
if (EXPECTED(Z_TYPE_P(object_ptr) == IS_OBJECT)) {
|
||||
dim = _get_zval_ptr_cv_BP_VAR_R(execute_data, opline->op2.var);
|
||||
value = _get_zval_ptr_var((opline+1)->op1.var, execute_data, &free_op_data);
|
||||
value = _get_zval_ptr_var_deref((opline+1)->op1.var, execute_data, &free_op_data);
|
||||
|
||||
zend_assign_to_object_dim(object_ptr, dim, value);
|
||||
|
||||
@@ -43684,7 +43684,7 @@ try_assign_dim_array:
|
||||
}
|
||||
if (EXPECTED(Z_TYPE_P(object_ptr) == IS_OBJECT)) {
|
||||
dim = _get_zval_ptr_cv_BP_VAR_R(execute_data, opline->op2.var);
|
||||
value = _get_zval_ptr_cv_BP_VAR_R(execute_data, (opline+1)->op1.var);
|
||||
value = _get_zval_ptr_cv_deref_BP_VAR_R(execute_data, (opline+1)->op1.var);
|
||||
|
||||
zend_assign_to_object_dim(object_ptr, dim, value);
|
||||
|
||||
@@ -47250,7 +47250,7 @@ try_assign_dim_array:
|
||||
}
|
||||
if (EXPECTED(Z_TYPE_P(object_ptr) == IS_OBJECT)) {
|
||||
dim = _get_zval_ptr_var(opline->op2.var, execute_data, &free_op2);
|
||||
value = _get_zval_ptr_var((opline+1)->op1.var, execute_data, &free_op_data);
|
||||
value = _get_zval_ptr_var_deref((opline+1)->op1.var, execute_data, &free_op_data);
|
||||
|
||||
zend_assign_to_object_dim(object_ptr, dim, value);
|
||||
|
||||
@@ -47343,7 +47343,7 @@ try_assign_dim_array:
|
||||
}
|
||||
if (EXPECTED(Z_TYPE_P(object_ptr) == IS_OBJECT)) {
|
||||
dim = _get_zval_ptr_var(opline->op2.var, execute_data, &free_op2);
|
||||
value = _get_zval_ptr_cv_BP_VAR_R(execute_data, (opline+1)->op1.var);
|
||||
value = _get_zval_ptr_cv_deref_BP_VAR_R(execute_data, (opline+1)->op1.var);
|
||||
|
||||
zend_assign_to_object_dim(object_ptr, dim, value);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user