diff options
author | Nikita Popov <nikita.ppv@gmail.com> | 2020-12-04 12:56:05 +0100 |
---|---|---|
committer | Nikita Popov <nikita.ppv@gmail.com> | 2020-12-04 12:56:05 +0100 |
commit | 77325c4448cff9d031b86c394932acb072e99bfe (patch) | |
tree | 2f0b735b1423e67720441f360c0ba4b1a1e903a9 /Zend/zend_execute.c | |
parent | 426fe2f20c4e85c34f118ca891c99f70def1c8a8 (diff) | |
download | php-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.c | 1 |
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; |