-
Couldn't load subscription status.
- Fork 8k
Fix FD getting code on big endian #17259
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
Conversation
stream casting as FD returns a php_socket_t, which is an int, but zend_long is 64-bit (on those platforms). This works on LE by accidental (unless it forgets to clear the high word), but is fatal on big endian.
67f1d2b to
0d4cf47
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.
Thanks
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.
Hopefully your ppc CI PR will work out
* PHP-8.3: Fix FD getting code on big endian (#17259)
* PHP-8.4: Fix FD getting code on big endian (#17259)
* Fix FD getting code on big endian (PHP 8.3) stream casting as FD returns a php_socket_t, which is an int, but zend_long is 64-bit (on those platforms). This works on LE by accidental (unless it forgets to clear the high word), but is fatal on big endian. * change cast to match sig
stream casting as FD returns a php_socket_t, which is an int, but zend_long is 64-bit (on those platforms). This works on LE by accidental (unless it forgets to clear the high word), but is fatal on big endian.
fb2443a in master seems to have made this obvious, but the issue exists in earlier versions too. Fixes a regression introduced by that commit on big endian. (see GH-17258 for CI there)