You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Enforce namespace-scoped visibility for property access
Add runtime checks for private(namespace) properties, supporting both
regular and asymmetric visibility:
* Read access: Check ZEND_ACC_NAMESPACE_PRIVATE flag
* Write access: Check ZEND_ACC_NAMESPACE_PRIVATE_SET flag via
zend_asymmetric_property_has_set_access()
This applies to:
* Instance properties (zend_get_property_offset, zend_get_property_info)
* Static properties (zend_std_get_static_property_with_info)
* Asymmetric visibility (zend_asymmetric_property_has_set_access)
Supports asymmetric visibility patterns like:
public private(namespace)(set) int $count;
Where the property is publicly readable but only writable within
the namespace.
All checks compare the property's class namespace with the caller's
namespace using zend_get_class_namespace() and zend_get_caller_namespace(),
denying access when namespaces don't match.
0 commit comments