This reverts commit 0bcc1e613b.
It turns out that GitHub expects all users listed in CODEOWNERS to have
write access to the repository, and @youkidearitai does not currently
have such access. I was not aware of this earlier, and still hope that
he can be added back later, since he is very helpful when it comes
to reviewing GitHub issues and pull requests.
For the last couple years, Hamada-san has provided helpful feedback
on many GitHub issues and pull requests related to mbstring. He is in
a good position to help with reviewing future pull requests.
He agreed (via private mail) that it is fine to add his GitHub account
to CODEOWNERS.
I'm defacto already maintaining most XML stuff anyway, so update
CODEOWNERS accordingly. The EXTENSIONS file was not yet updated for my
maintenance status so do that as well.
Furthermore, as suggested by @Girgias, add myself as CODEOWNER to
BCMath.
This inlines .gdbinit and php_gdb.py in the .debug_gdb_scripts section of the PHP binary so that GDB can auto-load them regardless of the current directory or the availability of the PHP source code (albeit some functionalities of php_gdb.py currently rely on the source being available).
* 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
The test contained a syntax error and an incorrect use of loadExtension(), which returns void not bool.
Also install the necessary package in CI, so it gets tested there.