Skip to content

Conversation

@ndossche
Copy link
Member

@ndossche ndossche commented Nov 13, 2025

And to simplify some code

Comment on lines 1180 to 1182
) { \
zend_string *method_name = zend_string_copy(parser_to_check->fcc_field.function_handler->common.function_name); \
zend_string *method_name = parser_to_check->fcc_field.function_handler->common.function_name; \
zend_fcc_dtor(&parser_to_check->fcc_field); \
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Have you checked with a trampoline? As in that case the function name could be released via zend_fcc_dtor() no?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think you're right; at least when there are NUL bytes in the function name, zend_get_call_trampoline_func makes a new string. I'll revert this. Nice find.

@ndossche ndossche merged commit 0375060 into php:master Nov 15, 2025
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants