Make ReflectionGenerator final

This class is not safe against malicious extension / instantiation.
This commit is contained in:
Nikita Popov 2020-07-21 11:53:00 +02:00
parent 3a9036ac54
commit b3ea6ce720
3 changed files with 3 additions and 2 deletions

View file

@ -6506,6 +6506,7 @@ PHP_MINIT_FUNCTION(reflection) /* {{{ */
INIT_CLASS_ENTRY(_reflection_entry, "ReflectionGenerator", class_ReflectionGenerator_methods);
reflection_init_class_handlers(&_reflection_entry);
reflection_generator_ptr = zend_register_internal_class(&_reflection_entry);
reflection_generator_ptr->ce_flags |= ZEND_ACC_FINAL;
INIT_CLASS_ENTRY(_reflection_entry, "ReflectionParameter", class_ReflectionParameter_methods);
reflection_init_class_handlers(&_reflection_entry);

View file

@ -123,7 +123,7 @@ class ReflectionFunction extends ReflectionFunctionAbstract
public function getClosure() {}
}
class ReflectionGenerator
final class ReflectionGenerator
{
public function __construct(Generator $generator) {}

View file

@ -1,5 +1,5 @@
/* This is a generated file, edit the .stub.php file instead.
* Stub hash: 762e9bab89b8edae0b567c1c3926ffa226abe874 */
* Stub hash: 330900e4fdcc9691ef971a270d065f859cee47bd */
ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Reflection_getModifierNames, 0, 0, 1)
ZEND_ARG_TYPE_INFO(0, modifiers, IS_LONG, 0)