summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXinchen Hui <laruence@gmail.com>2018-07-23 15:48:14 +0800
committerXinchen Hui <laruence@gmail.com>2018-07-23 15:48:14 +0800
commit2139c2c2de5057c3ac740a1d096e0249015cc7f5 (patch)
tree98f1fc2109f2309602c7414ff7e536a53aef299c
parent99fdf5916eccbd72c10cc4d84693e677996b1229 (diff)
downloadphp-git-2139c2c2de5057c3ac740a1d096e0249015cc7f5.tar.gz
Fixed pefree_size (efree_size will be expaned to do {} while () form)
-rw-r--r--Zend/zend_alloc.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/Zend/zend_alloc.h b/Zend/zend_alloc.h
index f2d8d67f5d..7040802f95 100644
--- a/Zend/zend_alloc.h
+++ b/Zend/zend_alloc.h
@@ -195,7 +195,14 @@ ZEND_API void * __zend_realloc(void *p, size_t len) ZEND_ATTRIBUTE_ALLOC_SIZE(2)
#define pemalloc(size, persistent) ((persistent)?__zend_malloc(size):emalloc(size))
#define safe_pemalloc(nmemb, size, offset, persistent) ((persistent)?_safe_malloc(nmemb, size, offset):safe_emalloc(nmemb, size, offset))
#define pefree(ptr, persistent) ((persistent)?free(ptr):efree(ptr))
-#define pefree_size(ptr, size, persistent) ((persistent)?free(ptr):efree_size(ptr, size))
+#define pefree_size(ptr, size, persistent) do { \
+ if (persistent) { \
+ free(ptr); \
+ } else { \
+ efree_size(ptr, size);\
+ } \
+ } while (0)
+
#define pecalloc(nmemb, size, persistent) ((persistent)?__zend_calloc((nmemb), (size)):ecalloc((nmemb), (size)))
#define perealloc(ptr, size, persistent) ((persistent)?__zend_realloc((ptr), (size)):erealloc((ptr), (size)))
#define perealloc2(ptr, size, copy_size, persistent) ((persistent)?__zend_realloc((ptr), (size)):erealloc2((ptr), (size), (copy_size)))