sander Sun Oct 6 07:28:12 2002 EDT Modified files: /php4/ext/standard string.c Log: Fixed segfault and memory leak in the new implementation of implode() Index: php4/ext/standard/string.c diff -u php4/ext/standard/string.c:1.313 php4/ext/standard/string.c:1.314 --- php4/ext/standard/string.c:1.313 Fri Oct 4 16:44:19 2002 +++ php4/ext/standard/string.c Sun Oct 6 07:28:11 2002 @@ -18,7 +18,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: string.c,v 1.313 2002/10/04 20:44:19 sterling Exp $ */ +/* $Id: string.c,v 1.314 2002/10/06 11:28:11 sander Exp $ */ /* Synced with php 3.0 revision 1.193 1999-06-16 [ssb] */ @@ -825,6 +825,10 @@ numelems = zend_hash_num_elements(Z_ARRVAL_P(arr)); + if(numelems == 0) { + RETURN_EMPTY_STRING(); + } + zend_hash_internal_pointer_reset_ex(Z_ARRVAL_P(arr), &pos); while (zend_hash_get_current_data_ex(Z_ARRVAL_P(arr), (void **) &tmp, @@ -888,6 +892,8 @@ zval_ptr_dtor(arg1); if (arg2) { zval_ptr_dtor(arg2); + } else { + FREE_ZVAL(delim); } } /* }}} */
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php