]> granicus.if.org Git - php/commitdiff
MFB: fix leak in oo_stream.phpt
authorNuno Lopes <nlopess@php.net>
Sun, 12 Nov 2006 00:41:41 +0000 (00:41 +0000)
committerNuno Lopes <nlopess@php.net>
Sun, 12 Nov 2006 00:41:41 +0000 (00:41 +0000)
ext/zip/zip_stream.c

index dd5374edd8287cfb0036435f2d884f575cd32ee1..83e9ceab3e6cd69cb6e584af1e62806178559c4f 100644 (file)
@@ -60,9 +60,15 @@ static size_t php_zip_ops_write(php_stream *stream, const char *buf, size_t coun
 static int php_zip_ops_close(php_stream *stream, int close_handle TSRMLS_DC)
 {
        STREAM_DATA_FROM_STREAM();
-       if (close_handle && self->za) {
-               zip_close(self->za);
-               self->za = NULL;
+       if (close_handle) {
+               if (self->za) {
+                       zip_close(self->za);
+                       self->za = NULL;
+               }
+               if (self->zf) {
+                       zip_fclose(self->zf);
+                       self->zf = NULL;
+               }
        }
        efree(self);
        stream->abstract = NULL;