- Fixed bug #33200 (preg_replace(): magic_quotes_sybase=On makes 'e' modifier
misbehave). (Jani)
- Fixed bug #33185 (--enable-session=shared does not build). (Jani)
+- Fixed bug #33171 (foreach enumerates private fields declared in base
+ classes). (Dmitry)
- Fixed bug #33164 (Soap extension incorrectly detects HTTP/1.1). (Ilia)
- Fixed bug #33116 (crash when assigning class name to global variable in
__autoload). (Dmitry)
if (!property_info) {
return FAILURE;
}
- if (prop_info_name[0] == '\0' && prop_info_name[1] != '*' && !(property_info->flags & ZEND_ACC_PRIVATE)) {
- /* we we're looking for a private prop but found a non private one of the same name */
- return FAILURE;
+ if (prop_info_name[0] == '\0' && prop_info_name[1] != '*') {
+ if (!(property_info->flags & ZEND_ACC_PRIVATE)) {
+ /* we we're looking for a private prop but found a non private one of the same name */
+ return FAILURE;
+ } else if (strcmp(prop_info_name+1, property_info->name+1)) {
+ /* we we're looking for a private prop but found a private one of the same name but another class */
+ return FAILURE;
+ }
}
return zend_verify_property_access(property_info, zobj->ce TSRMLS_CC) ? SUCCESS : FAILURE;
}