* Fix GH-13834: Applying non-zero offset 36 to null pointer in zend_jit.c
ssa_op can be NULL in function JIT. Doing pointer arithmetic on a NULL
pointer is undefined behaviour. Undefined behaviour can be dangerous
because the optimizer may assume then that the variable is not actually
NULL.
To solve this:
1. Add ADVANCE_SSA_OP() to safely add an offset to ssa_op in zend_jit.c
2. For inference, add an extra offset argument to the helper functions.
To reproduce this, use Clang (not GCC) on a test like
sapi/cli/tests/gh12363.phpt (or other tests also work).
* Remove -fno-sanitize=pointer-overflow flag from CI
* Fix NULL pointer offsets added to the stack_map
* Fix an offset add on a potentially NULL ssa->ops
* Fix NULL pointer arithmetic in zend_range_info()
* Address review comments
Note 16 is now EOL, so old GitHub Actions that use node 16 now triggers a warning.
This updates all existing workflows except `dwieeb/needs-reply` to their latest versions.
Creating PRs against forks requries having up-to-date target branches. Pushing
to these currently triggers CI, which is useless as this commit was already
tested upstream. Contributions are tested via pull request.
* Add macos-14 to the push workflow
* Remove hardcoded brew path in configure-macos action
* Include architecture in macos job name
* Add os to ccache-action in macos job
* Add libsodium in brew action
Since we build with the configuration option --with-sodium, adding libsodium to make sure it is installed
* Add fail-fast to macos matrix
* Add macos-14 to the nightly workflow
* Fix adding bison to PATH in workflows
* Fix architecture
* Use version to compare in nightly_matrix.php
* Make sure test-macos artifacts have unique name
* Update .github/nightly_matrix.php
Co-authored-by: Ilija Tovilo <ilija.tovilo@me.com>
---------
Co-authored-by: Ilija Tovilo <ilija.tovilo@me.com>
Some jobs on GA apparently consume a lot of CPU resources, possibly hindering
communication between master and runner. This only seems to happen on Linux+ASAN
and macOS. For these jobs, keep one core idle.
Closes GH-12742
5.7 is EOL, 8.2 was released. Also remove mysqli from these builds as PHP-8.1
goes into security mode, after which nightly is not really actively supported
anymore.
Closes GH-12690
The last attempt was incorrect for the schedule trigger, which runs multiple PHP
versions. Instead, the version information should be stored in the branch
object.
FilesystemTest::testSharedGet() uses too much memory and crashes GA. It was
already ignored by adding the `@skip` attribute, but the code changed and the
replacement stopped working.
Closes GH-12570