summaryrefslogtreecommitdiff
path: root/ext/zip/php_zip.c
diff options
context:
space:
mode:
authorFelipe Pena <felipensp@gmail.com>2013-10-20 01:05:00 -0200
committerFelipe Pena <felipensp@gmail.com>2013-10-20 01:05:00 -0200
commit8d22c231617cafba3a34a490036cccb31a393d70 (patch)
treeb9b0c8642db1951f391fb6a9ea430cd57b6e381a /ext/zip/php_zip.c
parent0b5c2887cdf2d9c8d9c466de88d898c30cea2d38 (diff)
parent420068c6e1806a2b12be481abba1afec5d73d82e (diff)
downloadphp-git-8d22c231617cafba3a34a490036cccb31a393d70.tar.gz
Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4: - Fix possible memory leak
Diffstat (limited to 'ext/zip/php_zip.c')
-rw-r--r--ext/zip/php_zip.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/ext/zip/php_zip.c b/ext/zip/php_zip.c
index 7297523aaa..a9f977c9fd 100644
--- a/ext/zip/php_zip.c
+++ b/ext/zip/php_zip.c
@@ -1856,15 +1856,16 @@ static ZIPARCHIVE_METHOD(addFromString)
/* TODO: fix _zip_replace */
if (cur_idx >= 0) {
if (zip_delete(intern, cur_idx) == -1) {
- RETURN_FALSE;
+ goto fail;
}
}
- if (zip_add(intern, name, zs) == -1) {
- RETURN_FALSE;
- } else {
+ if (zip_add(intern, name, zs) != -1) {
RETURN_TRUE;
}
+fail:
+ zip_source_free(zs);
+ RETURN_FALSE;
}
/* }}} */