summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikita Popov <nikita.ppv@gmail.com>2017-03-09 20:47:06 +0100
committerNikita Popov <nikita.ppv@gmail.com>2017-03-09 20:47:06 +0100
commit177f87cf052179d22bab008aa13c69d4b0cdc0ef (patch)
tree4782748537252a507856f2eeb4e0cb806a05b2d2
parent247ce052cd0fc7d0d8ea1a0e7ea2075e9601766a (diff)
downloadphp-git-177f87cf052179d22bab008aa13c69d4b0cdc0ef.tar.gz
Fixed bug #73370
If len=0 malloc() is allowed to return NULL.
-rw-r--r--NEWS4
-rw-r--r--Zend/zend_alloc.c4
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();