summaryrefslogtreecommitdiff
path: root/ext/zip/zip_stream.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/zip/zip_stream.c')
-rw-r--r--ext/zip/zip_stream.c12
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;