com php-src: Fix a leak: ext/spl/spl_observer.c
| From: | Xinchen Hui | Date: | Fri, 13 Mar 2015 04:54:30 +0000 |
| Subject: | com php-src: Fix a leak: ext/spl/spl_observer.c | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-85499@lists.php.net to get a copy of this message | ||
Commit: 482500b455fae92a922a602e7c7672806487900e
Author: Vektah <adam.scarr@99designs.com> Fri, 13 Mar 2015 15:54:30 +1100
Parents: 950d3d6e9b94b75b266c67bf9e3a85ae9c31905d
Branches: PHP-5.5 PHP-5.6 master
Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=482500b455fae92a922a602e7c7672806487900e
Log:
Fix a leak
Changed paths:
M ext/spl/spl_observer.c
Diff:
diff --git a/ext/spl/spl_observer.c b/ext/spl/spl_observer.c
index 6bd0d90..2b50319 100644
--- a/ext/spl/spl_observer.c
+++ b/ext/spl/spl_observer.c
@@ -109,7 +109,7 @@ void spl_SplOjectStorage_free_storage(void *object TSRMLS_DC) /* {{{ */
efree(intern->debug_info);
}
- if (intern->gcdata_len > 0) {
+ if (intern->gcdata != NULL) {
efree(intern->gcdata);
}
@@ -378,10 +378,6 @@ static HashTable *spl_object_storage_get_gc(zval *obj, zval ***table, int *n
TSR
long requiredLength = intern->storage.nNumOfElements * 2;
if (requiredLength > intern->gcdata_len) {
- if (intern->gcdata_len > 0) {
- efree(intern->gcdata);
- }
-
intern->gcdata = (zval**)erealloc(intern->gcdata, sizeof(zval*) * requiredLength);
intern->gcdata_len = requiredLength;
}
@@ -394,7 +390,7 @@ static HashTable *spl_object_storage_get_gc(zval *obj, zval ***table, int *n TSR
}
*table = intern->gcdata;
- *n = intern->gcdata_len;
+ *n = i;
return std_object_handlers.get_properties(obj TSRMLS_CC);
}