summaryrefslogtreecommitdiff
path: root/Zend/zend_execute.c
diff options
context:
space:
mode:
authorNikita Popov <nikita.ppv@gmail.com>2020-12-04 12:56:05 +0100
committerNikita Popov <nikita.ppv@gmail.com>2020-12-04 12:56:05 +0100
commit77325c4448cff9d031b86c394932acb072e99bfe (patch)
tree2f0b735b1423e67720441f360c0ba4b1a1e903a9 /Zend/zend_execute.c
parent426fe2f20c4e85c34f118ca891c99f70def1c8a8 (diff)
downloadphp-git-77325c4448cff9d031b86c394932acb072e99bfe.tar.gz
Fix removal of type source during unserialization
Missed a check for info in this code. Add it, and add an assertion in type source removal to make it easier to catch this issue. Fixes oss-fuzz #28208 and #28257.
Diffstat (limited to 'Zend/zend_execute.c')
-rw-r--r--Zend/zend_execute.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/Zend/zend_execute.c b/Zend/zend_execute.c
index fb35b8a116..cb6e63c515 100644
--- a/Zend/zend_execute.c
+++ b/Zend/zend_execute.c
@@ -3262,6 +3262,7 @@ ZEND_API void ZEND_FASTCALL zend_ref_del_type_source(zend_property_info_source_l
zend_property_info_list *list = ZEND_PROPERTY_INFO_SOURCE_TO_LIST(source_list->list);
zend_property_info **ptr, **end;
+ ZEND_ASSERT(prop);
if (!ZEND_PROPERTY_INFO_SOURCE_IS_LIST(source_list->list)) {
ZEND_ASSERT(source_list->ptr == prop);
source_list->ptr = NULL;