diff options
| author | Nuno Lopes <nlopess@php.net> | 2006-11-12 00:41:16 +0000 |
|---|---|---|
| committer | Nuno Lopes <nlopess@php.net> | 2006-11-12 00:41:16 +0000 |
| commit | 7d75155e01a926d222843894a7b06e24378b02fd (patch) | |
| tree | 880e6ad9f7d322b75f3454917d79c1b543a2d704 /ext/zip/zip_stream.c | |
| parent | c0b0d0a81a7d5c1ca150068179911473af2f0069 (diff) | |
| download | php-git-7d75155e01a926d222843894a7b06e24378b02fd.tar.gz | |
fix leak in oo_stream.phpt
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; |
