--- embedaddon/php/ext/spl/spl_array.c 2013/07/22 01:32:01 1.1.1.3 +++ embedaddon/php/ext/spl/spl_array.c 2013/10/14 08:02:31 1.1.1.4 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: spl_array.c,v 1.1.1.3 2013/07/22 01:32:01 misho Exp $ */ +/* $Id: spl_array.c,v 1.1.1.4 2013/10/14 08:02:31 misho Exp $ */ #ifdef HAVE_CONFIG_H # include "config.h" @@ -166,7 +166,7 @@ zend_object_iterator *spl_array_get_iterator(zend_clas /* {{{ spl_array_object_new_ex */ static zend_object_value spl_array_object_new_ex(zend_class_entry *class_type, spl_array_object **obj, zval *orig, int clone_orig TSRMLS_DC) { - zend_object_value retval; + zend_object_value retval = {0}; spl_array_object *intern; zval *tmp; zend_class_entry * parent = class_type; @@ -1658,7 +1658,7 @@ SPL_METHOD(Array, getChildren) return; } if (instanceof_function(Z_OBJCE_PP(entry), Z_OBJCE_P(getThis()) TSRMLS_CC)) { - RETURN_ZVAL(*entry, 0, 0); + RETURN_ZVAL(*entry, 1, 0); } } @@ -1778,7 +1778,7 @@ SPL_METHOD(Array, unserialize) ++p; if (*p!='m') { - if (*p!='a' && *p!='O' && *p!='C') { + if (*p!='a' && *p!='O' && *p!='C' && *p!='r') { goto outexcept; } intern->ar_flags &= ~SPL_ARRAY_CLONE_MASK;