com php-src: Subtract one zval from memset: Zend/zend_objects _API.h
| From: | Nikita Popov | Date: | Sat, 25 Nov 2017 17:02:01 +0000 |
| Subject: | com php-src: Subtract one zval from memset: Zend/zend_objects _API.h | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-100371@lists.php.net to get a copy of this message | ||
Commit: 721f2cc51365527a1c70fc788a3b095503963887
Author: Nikita Popov <nikita.ppv@gmail.com> Sat, 25 Nov 2017 18:02:01 +0100
Parents: b72b1a4e4d4a94a16b953bf8d826885efb56eeca
Branches: master
Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=721f2cc51365527a1c70fc788a3b095503963887
Log:
Subtract one zval from memset
Changed paths:
M Zend/zend_objects_API.h
Diff:
diff --git a/Zend/zend_objects_API.h b/Zend/zend_objects_API.h
index cffd9ee..fbcb705 100644
--- a/Zend/zend_objects_API.h
+++ b/Zend/zend_objects_API.h
@@ -90,7 +90,9 @@ static zend_always_inline size_t zend_object_properties_size(zend_class_entry *c
* Properties MUST be initialized using object_properties_init(). */
static zend_always_inline void *zend_object_alloc(size_t obj_size, zend_class_entry *ce) {
void *obj = emalloc(obj_size + zend_object_properties_size(ce));
- memset(obj, 0, obj_size);
+ /* Subtraction of sizeof(zval) is necessary, because zend_object_properties_size() may be
+ * -sizeof(zval), if the object has no properties. */
+ memset(obj, 0, obj_size - sizeof(zval));
return obj;
}