From 1ce8546cd11809189140c5b697015e1ec3eea28d Mon Sep 17 00:00:00 2001 From: Antony Dovgal Date: Wed, 22 Mar 2006 23:12:03 +0000 Subject: [PATCH] fix leak --- ext/spl/spl_array.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/ext/spl/spl_array.c b/ext/spl/spl_array.c index 0491fc70f4..f1d056e57f 100755 --- a/ext/spl/spl_array.c +++ b/ext/spl/spl_array.c @@ -260,14 +260,13 @@ static zval *spl_array_read_dimension_ex(int check_inherited, zval *object, zval if (intern->fptr_offset_get) { zval *rv; zend_call_method_with_1_params(&object, Z_OBJCE_P(object), &intern->fptr_offset_get, "offsetGet", &rv, offset); - zval_ptr_dtor(&intern->retval); - MAKE_STD_ZVAL(intern->retval); if (rv) { + zval_ptr_dtor(&intern->retval); + MAKE_STD_ZVAL(intern->retval); ZVAL_ZVAL(intern->retval, rv, 1, 1); - } else { - ZVAL_NULL(intern->retval); + return intern->retval; } - return intern->retval; + return EG(uninitialized_zval_ptr); } } return *spl_array_get_dimension_ptr_ptr(check_inherited, object, offset, type TSRMLS_CC); -- 2.50.1