From 3b329a992606889c9ca43b1fe5e68b11b1166247 Mon Sep 17 00:00:00 2001 From: Ilia Alshanetsky Date: Thu, 18 Aug 2005 15:14:12 +0000 Subject: [PATCH] MFH: Fixed bug #34156 (memory usage remains elevated after memory limit is reached); --- NEWS | 2 ++ Zend/zend_alloc.c | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/NEWS b/NEWS index 01d711ab26..dbbf42e7e9 100644 --- a/NEWS +++ b/NEWS @@ -12,6 +12,8 @@ PHP NEWS - Fixed "make test" to work for phpized extensions. (Hartmut, Jani) - Fixed failing queries (FALSE returned) with mysqli_query() on 64 bit systems. (Andrey) +- Fixed bug #34156 (memory usage remains elevated after memory limit is + reached). (Ilia) - Fixed bug #34148 (+,- and . not supported as parts of scheme). (Ilia) - Fixed bug #34103 (line numbering not maintained in dom document). (Rob) - Fixed bug #34078 (Reflection API problems in methods with boolean or diff --git a/Zend/zend_alloc.c b/Zend/zend_alloc.c index f77c54ef9c..c9d18f31e2 100644 --- a/Zend/zend_alloc.c +++ b/Zend/zend_alloc.c @@ -75,7 +75,8 @@ static long mem_block_end_magic = MEM_BLOCK_END_MAGIC; #define _CHECK_MEMORY_LIMIT(s, rs, file, lineno) { AG(allocated_memory) += rs;\ if (AG(memory_limit) AG(allocated_memory) - rs) { \ + AG(allocated_memory) -= rs; \ + if (EG(in_execution) && AG(memory_limit)+1048576 > AG(allocated_memory)) { \ AG(memory_limit) = AG(allocated_memory) + 1048576; \ if (file) { \ zend_error(E_ERROR,"Allowed memory size of %d bytes exhausted at %s:%d (tried to allocate %d bytes)", php_mem_limit, file, lineno, s); \ -- 2.40.0