summaryrefslogtreecommitdiff
path: root/Zend
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@zend.com>2018-03-14 14:01:45 +0300
committerDmitry Stogov <dmitry@zend.com>2018-03-14 14:01:45 +0300
commit1af60a2a7127cd8a366f614b43566123c1dcc80a (patch)
tree303bf4026ad283e43159dd699fb6c67bd484b3d0 /Zend
parent12baec3dfa10a4ae87d90b0c785403d5b2303230 (diff)
downloadphp-git-1af60a2a7127cd8a366f614b43566123c1dcc80a.tar.gz
Keep initialized object_handlers structures in read-only memory.
Diffstat (limited to 'Zend')
-rw-r--r--Zend/zend_iterators.c2
-rw-r--r--Zend/zend_object_handlers.c2
-rw-r--r--Zend/zend_object_handlers.h2
-rw-r--r--Zend/zend_objects_API.c2
-rw-r--r--Zend/zend_objects_API.h2
5 files changed, 5 insertions, 5 deletions
diff --git a/Zend/zend_iterators.c b/Zend/zend_iterators.c
index 8ee376b06c..7a8517edc9 100644
--- a/Zend/zend_iterators.c
+++ b/Zend/zend_iterators.c
@@ -27,7 +27,7 @@ static zend_class_entry zend_iterator_class_entry;
static void iter_wrapper_free(zend_object *object);
static void iter_wrapper_dtor(zend_object *object);
-static zend_object_handlers iterator_object_handlers = {
+static const zend_object_handlers iterator_object_handlers = {
0,
iter_wrapper_free,
iter_wrapper_dtor,
diff --git a/Zend/zend_object_handlers.c b/Zend/zend_object_handlers.c
index e8a8a54325..0979206326 100644
--- a/Zend/zend_object_handlers.c
+++ b/Zend/zend_object_handlers.c
@@ -1733,7 +1733,7 @@ int zend_std_get_closure(zval *obj, zend_class_entry **ce_ptr, zend_function **f
}
/* }}} */
-ZEND_API zend_object_handlers std_object_handlers = {
+ZEND_API const zend_object_handlers std_object_handlers = {
0, /* offset */
zend_object_std_dtor, /* free_obj */
diff --git a/Zend/zend_object_handlers.h b/Zend/zend_object_handlers.h
index 393322667c..4da62e524f 100644
--- a/Zend/zend_object_handlers.h
+++ b/Zend/zend_object_handlers.h
@@ -165,7 +165,7 @@ struct _zend_object_handlers {
};
BEGIN_EXTERN_C()
-extern ZEND_API zend_object_handlers std_object_handlers;
+extern const ZEND_API zend_object_handlers std_object_handlers;
#define zend_get_function_root_class(fbc) \
((fbc)->common.prototype ? (fbc)->common.prototype->common.scope : (fbc)->common.scope)
diff --git a/Zend/zend_objects_API.c b/Zend/zend_objects_API.c
index 3e0baaa691..a2de370b49 100644
--- a/Zend/zend_objects_API.c
+++ b/Zend/zend_objects_API.c
@@ -197,7 +197,7 @@ ZEND_API void ZEND_FASTCALL zend_objects_store_del(zend_object *object) /* {{{ *
}
/* }}} */
-ZEND_API zend_object_handlers* ZEND_FASTCALL zend_get_std_object_handlers(void)
+ZEND_API const zend_object_handlers* ZEND_FASTCALL zend_get_std_object_handlers(void)
{
return &std_object_handlers;
}
diff --git a/Zend/zend_objects_API.h b/Zend/zend_objects_API.h
index 5a9e3a5041..2ebaa74360 100644
--- a/Zend/zend_objects_API.h
+++ b/Zend/zend_objects_API.h
@@ -67,7 +67,7 @@ static zend_always_inline void zend_object_store_ctor_failed(zend_object *obj)
#define ZEND_OBJECTS_STORE_HANDLERS 0, zend_object_std_dtor, zend_objects_destroy_object, zend_objects_clone_obj
-ZEND_API zend_object_handlers * ZEND_FASTCALL zend_get_std_object_handlers(void);
+ZEND_API const zend_object_handlers * ZEND_FASTCALL zend_get_std_object_handlers(void);
END_EXTERN_C()
static zend_always_inline void zend_object_release(zend_object *obj)