summaryrefslogtreecommitdiff
path: root/Zend/zend_arena.h
diff options
context:
space:
mode:
authorNikita Popov <nikic@php.net>2014-09-06 22:12:37 +0200
committerNikita Popov <nikic@php.net>2014-09-06 22:12:37 +0200
commitf4f9b549836a3b5e38774c7158517656da48aab0 (patch)
tree8b5bd64434d60940b35758d0fe3862b711c5e491 /Zend/zend_arena.h
parent43b02e169c718335a82b8c90c3252194f988659a (diff)
downloadphp-git-f4f9b549836a3b5e38774c7158517656da48aab0.tar.gz
Revert "Move safe_address into zend_multiply.h"
This reverts commit 43b02e169c718335a82b8c90c3252194f988659a. I'm getting symbol resolution issues for zend_error_noreturn in the opcache.so, so reverting this for now.
Diffstat (limited to 'Zend/zend_arena.h')
-rw-r--r--Zend/zend_arena.h10
1 files changed, 8 insertions, 2 deletions
diff --git a/Zend/zend_arena.h b/Zend/zend_arena.h
index ba24e9abce..8988eb4ab5 100644
--- a/Zend/zend_arena.h
+++ b/Zend/zend_arena.h
@@ -80,8 +80,14 @@ static zend_always_inline void* zend_arena_alloc(zend_arena **arena_ptr, size_t
static zend_always_inline void* zend_arena_calloc(zend_arena **arena_ptr, size_t count, size_t unit_size)
{
- size_t size = zend_safe_address(count, unit_size, 0);
- void *ret = zend_arena_alloc(arena_ptr, size);
+ zend_long overflow;
+ double d;
+ size_t size;
+ void *ret;
+
+ ZEND_SIGNED_MULTIPLY_LONG(unit_size, count, size, d, overflow);
+ ZEND_ASSERT(overflow == 0);
+ ret = zend_arena_alloc(arena_ptr, size);
memset(ret, 0, size);
return ret;
}