From 3151676f520555bfadb39ea76779e93552d13fc1 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Fri, 24 Apr 2020 14:51:44 +0200 Subject: [PATCH] Fix #79514: Memory leaks while including unexistent file We have to destroy (un-opened) ZEND_HANDLE_FILENAMEs. --- NEWS | 2 ++ Zend/tests/bug79514.phpt | 13 +++++++++++++ Zend/zend_stream.c | 2 ++ 3 files changed, 17 insertions(+) create mode 100644 Zend/tests/bug79514.phpt diff --git a/NEWS b/NEWS index 88185d170f..bc5fc665e2 100644 --- a/NEWS +++ b/NEWS @@ -6,6 +6,8 @@ PHP NEWS - Core: . Fixed bug #78434 (Generator yields no items after valid() call). (Nikita) . Fixed bug #79477 (casting object into array creates references). (Nikita) + . Fixed bug #79514 (Memory leaks while including unexistent file). (cmb, + Nikita) - DOM: . Fixed bug #78221 (DOMNode::normalize() doesn't remove empty text nodes). diff --git a/Zend/tests/bug79514.phpt b/Zend/tests/bug79514.phpt new file mode 100644 index 0000000000..5182489964 --- /dev/null +++ b/Zend/tests/bug79514.phpt @@ -0,0 +1,13 @@ +--TEST-- +Bug #79514 (Memory leaks while including unexistent file) +--FILE-- + +--EXPECT-- +bool(true) diff --git a/Zend/zend_stream.c b/Zend/zend_stream.c index 3890248a26..38b145736b 100644 --- a/Zend/zend_stream.c +++ b/Zend/zend_stream.c @@ -238,6 +238,8 @@ ZEND_API int zend_compare_file_handles(zend_file_handle *fh1, zend_file_handle * return 0; } switch (fh1->type) { + case ZEND_HANDLE_FILENAME: + return strcmp(fh1->filename, fh2->filename) == 0; case ZEND_HANDLE_FP: return fh1->handle.fp == fh2->handle.fp; case ZEND_HANDLE_STREAM: -- 2.50.1