diff options
Diffstat (limited to 'ext/zip/zip_stream.c')
| -rw-r--r-- | ext/zip/zip_stream.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/ext/zip/zip_stream.c b/ext/zip/zip_stream.c index dd5374edd8..83e9ceab3e 100644 --- a/ext/zip/zip_stream.c +++ b/ext/zip/zip_stream.c @@ -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; |
