mirror of
https://github.com/php/php-src.git
synced 2024-09-22 10:27:25 +00:00
Fixed memory leak in foreach() on undefined variable (Zend/tests/foreach_undefined.php)
This commit is contained in:
parent
85d77d8cea
commit
a744a6feb5
@ -2953,7 +2953,7 @@ ZEND_VM_HANDLER(77, ZEND_FE_RESET, CONST|TMP|VAR|CV, ANY)
|
||||
|
||||
if (opline->extended_value) {
|
||||
array_ptr_ptr = GET_OP1_ZVAL_PTR_PTR(BP_VAR_R);
|
||||
if (array_ptr_ptr == NULL) {
|
||||
if (array_ptr_ptr == NULL || array_ptr_ptr == &EG(uninitialized_zval_ptr)) {
|
||||
ALLOC_INIT_ZVAL(array_ptr);
|
||||
} else if (Z_TYPE_PP(array_ptr_ptr) == IS_OBJECT) {
|
||||
if(Z_OBJ_HT_PP(array_ptr_ptr)->get_class_entry == NULL) {
|
||||
|
@ -2007,7 +2007,7 @@ static int ZEND_FE_RESET_SPEC_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
|
||||
|
||||
if (opline->extended_value) {
|
||||
array_ptr_ptr = NULL;
|
||||
if (array_ptr_ptr == NULL) {
|
||||
if (array_ptr_ptr == NULL || array_ptr_ptr == &EG(uninitialized_zval_ptr)) {
|
||||
ALLOC_INIT_ZVAL(array_ptr);
|
||||
} else if (Z_TYPE_PP(array_ptr_ptr) == IS_OBJECT) {
|
||||
if(Z_OBJ_HT_PP(array_ptr_ptr)->get_class_entry == NULL) {
|
||||
@ -4424,7 +4424,7 @@ static int ZEND_FE_RESET_SPEC_TMP_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
|
||||
|
||||
if (opline->extended_value) {
|
||||
array_ptr_ptr = NULL;
|
||||
if (array_ptr_ptr == NULL) {
|
||||
if (array_ptr_ptr == NULL || array_ptr_ptr == &EG(uninitialized_zval_ptr)) {
|
||||
ALLOC_INIT_ZVAL(array_ptr);
|
||||
} else if (Z_TYPE_PP(array_ptr_ptr) == IS_OBJECT) {
|
||||
if(Z_OBJ_HT_PP(array_ptr_ptr)->get_class_entry == NULL) {
|
||||
@ -7444,7 +7444,7 @@ static int ZEND_FE_RESET_SPEC_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
|
||||
|
||||
if (opline->extended_value) {
|
||||
array_ptr_ptr = _get_zval_ptr_ptr_var(&opline->op1, EX(Ts), &free_op1 TSRMLS_CC);
|
||||
if (array_ptr_ptr == NULL) {
|
||||
if (array_ptr_ptr == NULL || array_ptr_ptr == &EG(uninitialized_zval_ptr)) {
|
||||
ALLOC_INIT_ZVAL(array_ptr);
|
||||
} else if (Z_TYPE_PP(array_ptr_ptr) == IS_OBJECT) {
|
||||
if(Z_OBJ_HT_PP(array_ptr_ptr)->get_class_entry == NULL) {
|
||||
@ -19484,7 +19484,7 @@ static int ZEND_FE_RESET_SPEC_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
|
||||
|
||||
if (opline->extended_value) {
|
||||
array_ptr_ptr = _get_zval_ptr_ptr_cv(&opline->op1, EX(Ts), BP_VAR_R TSRMLS_CC);
|
||||
if (array_ptr_ptr == NULL) {
|
||||
if (array_ptr_ptr == NULL || array_ptr_ptr == &EG(uninitialized_zval_ptr)) {
|
||||
ALLOC_INIT_ZVAL(array_ptr);
|
||||
} else if (Z_TYPE_PP(array_ptr_ptr) == IS_OBJECT) {
|
||||
if(Z_OBJ_HT_PP(array_ptr_ptr)->get_class_entry == NULL) {
|
||||
|
Loading…
Reference in New Issue
Block a user