felipe Tue Apr 7 20:03:00 2009 UTC Modified files: /php-src/ext/date php_date.c Log: - Fixed bug #46108 (DateTime - Memory leak when unserializing) http://cvs.php.net/viewvc.cgi/php-src/ext/date/php_date.c?r1=1.222&r2=1.223&diff_format=u Index: php-src/ext/date/php_date.c diff -u php-src/ext/date/php_date.c:1.222 php-src/ext/date/php_date.c:1.223 --- php-src/ext/date/php_date.c:1.222 Fri Mar 27 19:22:18 2009 +++ php-src/ext/date/php_date.c Tue Apr 7 20:03:00 2009 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: php_date.c,v 1.222 2009/03/27 19:22:18 bjori Exp $ */ +/* $Id: php_date.c,v 1.223 2009/04/07 20:03:00 felipe Exp $ */ #include "php.h" #include "php_streams.h" @@ -2382,10 +2382,6 @@ /* Advanced Interface */ static zval * date_instantiate(zend_class_entry *pce, zval *object TSRMLS_DC) { - if (!object) { - ALLOC_ZVAL(object); - } - Z_TYPE_P(object) = IS_OBJECT; object_init_ex(object, pce); Z_SET_REFCOUNT_P(object, 1); @@ -2575,12 +2571,14 @@ tzi = php_date_parse_tzfile(Z_STRVAL_PP(z_timezone), DATE_TIMEZONEDB TSRMLS_CC); + ALLOC_INIT_ZVAL(tmp_obj); tzobj = zend_object_store_get_object(tmp_obj = date_instantiate(date_ce_timezone, tmp_obj TSRMLS_CC) TSRMLS_CC); tzobj->type = TIMELIB_ZONETYPE_ID; tzobj->tzi.tz = tzi; tzobj->initialized = 1; date_initialize(*dateobj, Z_STRVAL_PP(z_date), Z_STRLEN_PP(z_date), NULL, tmp_obj, 0 TSRMLS_CC); + zval_ptr_dtor(&tmp_obj); return 1; } }
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php