From b9d7e8b0484b6f643a59fe09ca77821925ccecce Mon Sep 17 00:00:00 2001 From: Pierre Joye Date: Fri, 8 Aug 2008 15:41:25 +0000 Subject: - MFH: fix leak in zif_zip_entry_read and ::ExtractTo on Error --- ext/zip/php_zip.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'ext/zip/php_zip.c') diff --git a/ext/zip/php_zip.c b/ext/zip/php_zip.c index 461a9c045c..1c6f46c067 100644 --- a/ext/zip/php_zip.c +++ b/ext/zip/php_zip.c @@ -1155,7 +1155,7 @@ static PHP_NAMED_FUNCTION(zif_zip_read) if (ret != 0) { efree(zr_rsrc); - RETURN_LONG((long)ret); + RETURN_FALSE; } zr_rsrc->zf = zip_fopen_index(rsrc_int->za, rsrc_int->index_current, 0); @@ -1163,6 +1163,7 @@ static PHP_NAMED_FUNCTION(zif_zip_read) rsrc_int->index_current++; ZEND_REGISTER_RESOURCE(return_value, zr_rsrc, le_zip_entry); } else { + efree(zr_rsrc); RETURN_FALSE; } @@ -1244,6 +1245,7 @@ static PHP_NAMED_FUNCTION(zif_zip_entry_read) buffer[n] = 0; RETURN_STRINGL(buffer, n, 0); } else { + efree(buffer); RETURN_EMPTY_STRING() } } else { -- cgit v1.2.1