]> granicus.if.org Git - php/commitdiff
Merge branch 'PHP-7.4'
authorNikita Popov <nikita.ppv@gmail.com>
Wed, 13 Feb 2019 11:25:27 +0000 (12:25 +0100)
committerNikita Popov <nikita.ppv@gmail.com>
Wed, 13 Feb 2019 11:25:27 +0000 (12:25 +0100)
1  2 
ext/reflection/php_reflection.c

index e02537312264999b9c93e20eccc1f85b3659fdb7,1e11b8735affe7e2cab711791bad25fa0e19c00b..31c9449d06b3b275e75d4a9951c9cc2fdc4d7ab3
  #include "zend_builtin_functions.h"
  #include "zend_smart_str.h"
  
+ /* Key used to avoid leaking addresses in ReflectionProperty::getId() */
+ #define REFLECTION_KEY_LEN 16
+ ZEND_BEGIN_MODULE_GLOBALS(reflection)
+       zend_bool key_initialized;
+       unsigned char key[REFLECTION_KEY_LEN];
+ ZEND_END_MODULE_GLOBALS(reflection)
+ ZEND_DECLARE_MODULE_GLOBALS(reflection)
+ #define REFLECTION_G(v) ZEND_MODULE_GLOBALS_ACCESSOR(reflection, v)
  #define reflection_update_property(object, name, value) do { \
 -              zval member; \
 -              ZVAL_STR(&member, name); \
 -              zend_std_write_property(object, &member, value, NULL); \
 +              zend_std_write_property(Z_OBJ_P(object), name, value, NULL); \
                Z_TRY_DELREF_P(value); \
 -              zval_ptr_dtor(&member); \
        } while (0)
  
  #define reflection_update_property_name(object, value) \