From 177f87cf052179d22bab008aa13c69d4b0cdc0ef Mon Sep 17 00:00:00 2001 From: Nikita Popov Date: Thu, 9 Mar 2017 20:47:06 +0100 Subject: [PATCH] Fixed bug #73370 If len=0 malloc() is allowed to return NULL. --- NEWS | 4 ++++ Zend/zend_alloc.c | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/NEWS b/NEWS index a5fdf55916..820d908e7d 100644 --- a/NEWS +++ b/NEWS @@ -2,6 +2,10 @@ PHP NEWS ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ?? ??? 2017 PHP 7.0.18 +- Core: + . Fixed bug #73370 (falsely exits with "Out of Memory" when using + USE_ZEND_ALLOC=0). (Nikita) + - Date: . Fixed bug #72096 (Swatch time value incorrect for dates before 1970). (mcq8) diff --git a/Zend/zend_alloc.c b/Zend/zend_alloc.c index 14cc0d52a0..48def78a41 100644 --- a/Zend/zend_alloc.c +++ b/Zend/zend_alloc.c @@ -2862,7 +2862,7 @@ static ZEND_COLD ZEND_NORETURN void zend_out_of_memory(void) ZEND_API void * __zend_malloc(size_t len) { void *tmp = malloc(len); - if (EXPECTED(tmp)) { + if (EXPECTED(tmp || !len)) { return tmp; } zend_out_of_memory(); @@ -2878,7 +2878,7 @@ ZEND_API void * __zend_calloc(size_t nmemb, size_t len) ZEND_API void * __zend_realloc(void *p, size_t len) { p = realloc(p, len); - if (EXPECTED(p)) { + if (EXPECTED(p || !len)) { return p; } zend_out_of_memory(); -- 2.40.0