]> granicus.if.org Git - php/commitdiff
Fixed exception handling in getIterator() callback (bugs #26229 & #30725)
authorDmitry Stogov <dmitry@php.net>
Wed, 8 Jun 2005 18:54:04 +0000 (18:54 +0000)
committerDmitry Stogov <dmitry@php.net>
Wed, 8 Jun 2005 18:54:04 +0000 (18:54 +0000)
Zend/zend_vm_def.h
Zend/zend_vm_execute.h

index a876a10a47f060694509de94645dfa945a3f0fc3..748a9cbab2596fade9cb0f5b9472d372f41996d8 100644 (file)
@@ -2964,7 +2964,6 @@ ZEND_VM_HANDLER(77, ZEND_FE_RESET, CONST|TMP|VAR|CV, ANY)
                if (iter && !EG(exception)) {
                        array_ptr = zend_iterator_wrap(iter TSRMLS_CC);
                } else {
-                       zval_ptr_dtor(&array_ptr);
                        if (opline->extended_value) {
                                FREE_OP1_VAR_PTR();
                        } else {
index 719d206fe26a11b52926c54ee4c104e868c70764..fe9013517ed4a61ef4c3ac0660c8334dd8bb8b49 100644 (file)
@@ -1974,7 +1974,6 @@ static int ZEND_FE_RESET_SPEC_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
                if (iter && !EG(exception)) {
                        array_ptr = zend_iterator_wrap(iter TSRMLS_CC);
                } else {
-                       zval_ptr_dtor(&array_ptr);
                        if (opline->extended_value) {
                                ;
                        } else {
@@ -4416,7 +4415,6 @@ static int ZEND_FE_RESET_SPEC_TMP_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
                if (iter && !EG(exception)) {
                        array_ptr = zend_iterator_wrap(iter TSRMLS_CC);
                } else {
-                       zval_ptr_dtor(&array_ptr);
                        if (opline->extended_value) {
                                ;
                        } else {
@@ -7516,7 +7514,6 @@ static int ZEND_FE_RESET_SPEC_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
                if (iter && !EG(exception)) {
                        array_ptr = zend_iterator_wrap(iter TSRMLS_CC);
                } else {
-                       zval_ptr_dtor(&array_ptr);
                        if (opline->extended_value) {
                                if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
                        } else {
@@ -19575,7 +19572,6 @@ static int ZEND_FE_RESET_SPEC_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
                if (iter && !EG(exception)) {
                        array_ptr = zend_iterator_wrap(iter TSRMLS_CC);
                } else {
-                       zval_ptr_dtor(&array_ptr);
                        if (opline->extended_value) {
                                ;
                        } else {
@@ -32642,7 +32638,6 @@ static int ZEND_FE_RESET_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
                if (iter && !EG(exception)) {
                        array_ptr = zend_iterator_wrap(iter TSRMLS_CC);
                } else {
-                       zval_ptr_dtor(&array_ptr);
                        if (opline->extended_value) {
                                if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
                        } else {