diff options
| author | Marcus Boerger <helly@php.net> | 2005-01-25 10:40:51 +0000 |
|---|---|---|
| committer | Marcus Boerger <helly@php.net> | 2005-01-25 10:40:51 +0000 |
| commit | 82193adc09d7f107fcfedcb544b5a8f76e1dc33f (patch) | |
| tree | 987bc8a81f98b75b9b8a3f43115917824245ae7e /Zend/zend_interfaces.c | |
| parent | 14e54cdc1e438f9149f90f652c0497e82f81497a (diff) | |
| download | php-git-82193adc09d7f107fcfedcb544b5a8f76e1dc33f.tar.gz | |
- Bugfix #26229 (getIterator() segfaults when it returns arrays or scalars)
Diffstat (limited to 'Zend/zend_interfaces.c')
| -rwxr-xr-x | Zend/zend_interfaces.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/Zend/zend_interfaces.c b/Zend/zend_interfaces.c index 9905e25861..a6658133e4 100755 --- a/Zend/zend_interfaces.c +++ b/Zend/zend_interfaces.c @@ -21,6 +21,7 @@ #include "zend.h" #include "zend_API.h" #include "zend_interfaces.h" +#include "zend_exceptions.h" ZEND_API zend_class_entry *zend_ce_traversable; ZEND_API zend_class_entry *zend_ce_aggregate; @@ -275,7 +276,7 @@ static zend_object_iterator *zend_user_it_get_new_iterator(zend_class_entry *ce, if (!ce || !ce_it || !ce_it->get_iterator || (ce_it->get_iterator == zend_user_it_get_new_iterator && iterator == object)) { if (!EG(exception)) { - zend_error(E_WARNING, "Objects returned by %s::getIterator() must be traversable or implement interface Iterator", ce->name); + zend_throw_exception_ex(NULL, 0 TSRMLS_CC, "Objects returned by %s::getIterator() must be traversable or implement interface Iterator", ce->name); } if (iterator) { |
