Skip to content

Commit 482500b

Browse files
author
Vektah
committed
Fix a leak
1 parent 950d3d6 commit 482500b

File tree

1 file changed

+2
-6
lines changed

1 file changed

+2
-6
lines changed

ext/spl/spl_observer.c

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ void spl_SplOjectStorage_free_storage(void *object TSRMLS_DC) /* {{{ */
109109
efree(intern->debug_info);
110110
}
111111

112-
if (intern->gcdata_len > 0) {
112+
if (intern->gcdata != NULL) {
113113
efree(intern->gcdata);
114114
}
115115

@@ -378,10 +378,6 @@ static HashTable *spl_object_storage_get_gc(zval *obj, zval ***table, int *n TSR
378378
long requiredLength = intern->storage.nNumOfElements * 2;
379379

380380
if (requiredLength > intern->gcdata_len) {
381-
if (intern->gcdata_len > 0) {
382-
efree(intern->gcdata);
383-
}
384-
385381
intern->gcdata = (zval**)erealloc(intern->gcdata, sizeof(zval*) * requiredLength);
386382
intern->gcdata_len = requiredLength;
387383
}
@@ -394,7 +390,7 @@ static HashTable *spl_object_storage_get_gc(zval *obj, zval ***table, int *n TSR
394390
}
395391

396392
*table = intern->gcdata;
397-
*n = intern->gcdata_len;
393+
*n = i;
398394

399395
return std_object_handlers.get_properties(obj TSRMLS_CC);
400396
}

0 commit comments

Comments
 (0)