1
0
mirror of https://github.com/php/php-src.git synced 2026-04-27 10:16:41 +02:00

- Fixed a memleak (Original patch by Hannes Magnusson).

This commit is contained in:
Derick Rethans
2008-07-08 19:29:06 +00:00
parent 739450edb7
commit d5bc2d0682
+6 -2
View File
@@ -3317,11 +3317,13 @@ zval *date_interval_read_property(zval *object, zval *member, int type TSRMLS_DC
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) {
@@ -3337,6 +3339,7 @@ void date_interval_write_property(zval *object, zval *member, zval *value TSRMLS
{
php_interval_obj *obj;
zval tmp_member, tmp_value;
int found = 0;
if (member->type != IS_STRING) {
tmp_member = *member;
@@ -3354,6 +3357,7 @@ void date_interval_write_property(zval *object, zval *member, zval *value TSRMLS
convert_to_long(&tmp_value); \
value = &tmp_value; \
} \
found = 1; \
obj->diff->n = Z_LVAL_P(value); \
if (value == &tmp_value) { \
zval_dtor(value); \
@@ -3368,7 +3372,7 @@ void date_interval_write_property(zval *object, zval *member, zval *value TSRMLS
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));
}