summaryrefslogtreecommitdiff
path: root/main/streams/streams.c
diff options
context:
space:
mode:
Diffstat (limited to 'main/streams/streams.c')
-rw-r--r--main/streams/streams.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/main/streams/streams.c b/main/streams/streams.c
index b504711db3..bf9537d33c 100644
--- a/main/streams/streams.c
+++ b/main/streams/streams.c
@@ -477,9 +477,15 @@ fprintf(stderr, "stream_free: %s:%p[%s] preserve_handle=%d release_cast=%d remov
if (close_options & PHP_STREAM_FREE_RELEASE_STREAM) {
while (stream->readfilters.head) {
+ if (stream->readfilters.head->res != NULL) {
+ zend_list_close(stream->readfilters.head->res);
+ }
php_stream_filter_remove(stream->readfilters.head, 1);
}
while (stream->writefilters.head) {
+ if (stream->writefilters.head->res != NULL) {
+ zend_list_close(stream->writefilters.head->res);
+ }
php_stream_filter_remove(stream->writefilters.head, 1);
}