mirror of
https://github.com/php/php-src.git
synced 2026-03-24 00:02:20 +01:00
Use zend_call_known_function() to call #[\SensitiveParameter]’s constructor (#14254)
`zend_call_method_with_1_params()` causes needless overhead, due to the capability of looking up the function by name. It’s also very rarely used (only in ext/spl). `zend_call_known_function()` is the standard methodology to call a known function and going through `Z_OBJCE_P()` avoids the repeated hardcoding of the CE name.
This commit is contained in:
@@ -1650,7 +1650,7 @@ static void debug_backtrace_get_args(zend_execute_data *call, zval *arg_array) /
|
||||
if (is_sensitive) {
|
||||
zval redacted_arg;
|
||||
object_init_ex(&redacted_arg, zend_ce_sensitive_parameter_value);
|
||||
zend_call_method_with_1_params(Z_OBJ_P(&redacted_arg), zend_ce_sensitive_parameter_value, &zend_ce_sensitive_parameter_value->constructor, "__construct", NULL, &original_arg);
|
||||
zend_call_known_function(Z_OBJCE_P(&redacted_arg)->constructor, Z_OBJ_P(&redacted_arg), Z_OBJCE_P(&redacted_arg), NULL, 1, &original_arg, NULL);
|
||||
ZEND_HASH_FILL_SET(&redacted_arg);
|
||||
} else {
|
||||
Z_TRY_ADDREF_P(&original_arg);
|
||||
@@ -1682,7 +1682,7 @@ static void debug_backtrace_get_args(zend_execute_data *call, zval *arg_array) /
|
||||
if (is_sensitive) {
|
||||
zval redacted_arg;
|
||||
object_init_ex(&redacted_arg, zend_ce_sensitive_parameter_value);
|
||||
zend_call_method_with_1_params(Z_OBJ_P(&redacted_arg), zend_ce_sensitive_parameter_value, &zend_ce_sensitive_parameter_value->constructor, "__construct", NULL, &original_arg);
|
||||
zend_call_known_function(Z_OBJCE_P(&redacted_arg)->constructor, Z_OBJ_P(&redacted_arg), Z_OBJCE_P(&redacted_arg), NULL, 1, &original_arg, NULL);
|
||||
ZEND_HASH_FILL_SET(&redacted_arg);
|
||||
} else {
|
||||
Z_TRY_ADDREF_P(&original_arg);
|
||||
@@ -1722,7 +1722,7 @@ static void debug_backtrace_get_args(zend_execute_data *call, zval *arg_array) /
|
||||
if (is_sensitive) {
|
||||
zval redacted_arg;
|
||||
object_init_ex(&redacted_arg, zend_ce_sensitive_parameter_value);
|
||||
zend_call_method_with_1_params(Z_OBJ_P(&redacted_arg), zend_ce_sensitive_parameter_value, &zend_ce_sensitive_parameter_value->constructor, "__construct", NULL, &original_arg);
|
||||
zend_call_known_function(Z_OBJCE_P(&redacted_arg)->constructor, Z_OBJ_P(&redacted_arg), Z_OBJCE_P(&redacted_arg), NULL, 1, &original_arg, NULL);
|
||||
ZEND_HASH_FILL_SET(&redacted_arg);
|
||||
} else {
|
||||
Z_TRY_ADDREF_P(&original_arg);
|
||||
|
||||
Reference in New Issue
Block a user