derick Tue Jul 8 19:29:19 2008 UTC Modified files: (Branch: PHP_5_3) /php-src/ext/date php_date.c Log: - MFH: Fixed a memleak (Original patch by Hannes Magnusson). http://cvs.php.net/viewvc.cgi/php-src/ext/date/php_date.c?r1=1.43.2.45.2.51.2.40&r2=1.43.2.45.2.51.2.41&diff_format=u Index: php-src/ext/date/php_date.c diff -u php-src/ext/date/php_date.c:1.43.2.45.2.51.2.40 php-src/ext/date/php_date.c:1.43.2.45.2.51.2.41 --- php-src/ext/date/php_date.c:1.43.2.45.2.51.2.40 Tue Jul 8 17:55:40 2008 +++ php-src/ext/date/php_date.c Tue Jul 8 19:29:18 2008 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: php_date.c,v 1.43.2.45.2.51.2.40 2008/07/08 17:55:40 derick Exp $ */ +/* $Id: php_date.c,v 1.43.2.45.2.51.2.41 2008/07/08 19:29:18 derick Exp $ */ #include "php.h" #include "php_streams.h" @@ -3148,11 +3148,13 @@ GET_VALUE_FROM_STRUCT(invert, "invert"); GET_VALUE_FROM_STRUCT(days, "days"); + ALLOC_INIT_ZVAL(retval); + Z_SET_REFCOUNT_P(retval, 0); + if (value == -1) { php_error_docref(NULL TSRMLS_CC, E_ERROR, "Unknown property (%s)", Z_STRVAL_P(member)); } - ALLOC_INIT_ZVAL(retval); ZVAL_LONG(retval, value); if (member == &tmp_member) { @@ -3168,6 +3170,7 @@ { php_interval_obj *obj; zval tmp_member, tmp_value; + int found = 0; if (member->type != IS_STRING) { tmp_member = *member; @@ -3185,6 +3188,7 @@ convert_to_long(&tmp_value); \ value = &tmp_value; \ } \ + found = 1; \ obj->diff->n = Z_LVAL_P(value); \ if (value == &tmp_value) { \ zval_dtor(value); \ @@ -3199,7 +3203,7 @@ SET_VALUE_FROM_STRUCT(s, "s"); SET_VALUE_FROM_STRUCT(invert, "invert"); - if (value == -1) { + if (!found) { php_error_docref(NULL TSRMLS_CC, E_ERROR, "Unknown property (%s)", Z_STRVAL_P(member)); }
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php