diff options
| -rw-r--r-- | ext/standard/var_unserializer.c | 4 | ||||
| -rw-r--r-- | ext/standard/var_unserializer.re | 4 |
2 files changed, 4 insertions, 4 deletions
diff --git a/ext/standard/var_unserializer.c b/ext/standard/var_unserializer.c index 2af099524c..b42e905f07 100644 --- a/ext/standard/var_unserializer.c +++ b/ext/standard/var_unserializer.c @@ -440,7 +440,7 @@ string_key: && zend_hash_num_elements(&Z_OBJCE_P(rval)->properties_info) > 0) { zend_property_info *existing_propinfo; zend_string *new_key; - const char *unmangled_class = NULL; + const char *unmangled_class = NULL; const char *unmangled_prop; size_t unmangled_prop_len; zend_string *unmangled; @@ -453,7 +453,7 @@ string_key: unmangled = zend_string_init(unmangled_prop, unmangled_prop_len, 0); existing_propinfo = zend_hash_find_ptr(&Z_OBJCE_P(rval)->properties_info, unmangled); - if ((existing_propinfo != NULL) + if ((existing_propinfo != NULL) && (existing_propinfo->flags & ZEND_ACC_PPP_MASK)) { if (existing_propinfo->flags & ZEND_ACC_PROTECTED) { new_key = zend_mangle_property_name( diff --git a/ext/standard/var_unserializer.re b/ext/standard/var_unserializer.re index 41b0c80bf2..00507b0854 100644 --- a/ext/standard/var_unserializer.re +++ b/ext/standard/var_unserializer.re @@ -444,7 +444,7 @@ string_key: && zend_hash_num_elements(&Z_OBJCE_P(rval)->properties_info) > 0) { zend_property_info *existing_propinfo; zend_string *new_key; - const char *unmangled_class = NULL; + const char *unmangled_class = NULL; const char *unmangled_prop; size_t unmangled_prop_len; zend_string *unmangled; @@ -457,7 +457,7 @@ string_key: unmangled = zend_string_init(unmangled_prop, unmangled_prop_len, 0); existing_propinfo = zend_hash_find_ptr(&Z_OBJCE_P(rval)->properties_info, unmangled); - if ((existing_propinfo != NULL) + if ((existing_propinfo != NULL) && (existing_propinfo->flags & ZEND_ACC_PPP_MASK)) { if (existing_propinfo->flags & ZEND_ACC_PROTECTED) { new_key = zend_mangle_property_name( |
