cellog Tue Jun 10 17:58:09 2008 UTC
Modified files: (Branch: PHP_5_3)
/php-src/ext/phar util.c
Log:
fix memleak on error
http://cvs.php.net/viewvc.cgi/php-src/ext/phar/util.c?r1=1.55.2.3&r2=1.55.2.4&diff_format=u
Index: php-src/ext/phar/util.c
diff -u php-src/ext/phar/util.c:1.55.2.3 php-src/ext/phar/util.c:1.55.2.4
--- php-src/ext/phar/util.c:1.55.2.3 Thu May 22 06:33:09 2008
+++ php-src/ext/phar/util.c Tue Jun 10 17:58:09 2008
@@ -18,7 +18,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: util.c,v 1.55.2.3 2008/05/22 06:33:09 cellog Exp $ */
+/* $Id: util.c,v 1.55.2.4 2008/06/10 17:58:09 cellog Exp $ */
#include "phar_internal.h"
#if !defined(PHP_VERSION_ID) || PHP_VERSION_ID < 50300
@@ -656,6 +656,7 @@
if (error) {
spprintf(error, 0, "phar error: unable to create
temporary file");
}
+ efree(ret);
return NULL;
}
etemp.fp_refcount = 1;
@@ -681,6 +682,7 @@
etemp.tar_type = TAR_FILE;
}
if (FAILURE == zend_hash_add(&phar->manifest, etemp.filename, path_len,
(void*)&etemp, sizeof(phar_entry_info), (void **) &entry)) {
+ efree(ret);
if (error) {
spprintf(error, 0, "phar error: unable to add new entry
\"%s\" to phar \"%s\"", etemp.filename, phar->fname);
}
@@ -690,6 +692,7 @@
if (!entry) {
php_stream_close(etemp.fp);
efree(etemp.filename);
+ efree(ret);
return NULL;
}
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php