-
Notifications
You must be signed in to change notification settings - Fork 160
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Move the dummy function of call_attribute_constructor onto the VM stack #2446
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't understand dd_patch_zend_call_known_function
. My assembly is poor and I'll keep looking at it, but can you explain these numbers?
338f674
to
6fc83d6
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've gone through the assembly, and I'm pretty sure I understand it, and it "seems" correct.
I'm pretty nervous, though. There are a lot of assumptions here that seem like they could get violated depending on how their PHP was compiled.
Are the affected operating systems still not patching this? Which operating systems are affected? Maybe we should be pushing them to upgrade or pull in patches?
Consider this a soft-approval. If anyone like Pierre wants to take this approach, and they understand the risks here, then feel free, I won't block. I just question if there's an alternative.
6fc83d6
to
0c4943a
Compare
Signed-off-by: Bob Weinand <[email protected]>
0c4943a
to
001ca15
Compare
Signed-off-by: Bob Weinand <[email protected]>
Description
Fixes possible crashes on old versions by ensuring that attribute constructor dummy functions are always on the VM stack.
(essentially works around https://bugs.php.net/bug.php?id=81430, which happens to crash more often for users now, given that Symfony started using PHP attributes.)
Reviewer checklist