1
0
mirror of https://github.com/php/php-src.git synced 2026-03-24 08:12:21 +01:00

15 Commits

Author SHA1 Message Date
Ilija Tovilo
eb1d45bd42 Restore opcache_invalidate() fuzzer behavior
The zend_exception_save() and zend_exception_restore() functions were removed in
GH-20256. However, the fuzzer expects to be able to call opcache_invalidate()
even if there was an exception thrown. I'm not sure why exactly, but let's
restore the previous behavior.

Closes OSS-Fuzz #476466130
2026-01-20 15:53:08 +01:00
Ilija Tovilo
084e409694 Remove zend_exception_save() and zend_exception_restore()
These are leftovers from the pre-PHP-7.0 era. This also implicitly solves
GH-20564 by not clearing exceptions before entering the autoloader.

Closes GH-20256
Fixes GH-20564
2026-01-16 20:18:51 +01:00
Niels Dossche
bd4e2c78ac Fix fuzzer runner (#19676) 2025-09-11 22:36:26 +02:00
Arnaud Le Blanc
d1fceeec30 Check stack limit in fuzzer executor
The stack limit is checked when entering execute_ex(), but the fuzzer has
its own execute function and does not call execute_ex().

Add a stack limit check in the fuzzer's execute function.

Closes GH-19391
2025-08-07 08:32:02 +02:00
Niels Dossche
bc2d02e3a9 Fix fuzzer after opcache became mandatory (#19292) 2025-07-30 09:01:10 +02:00
Gina Peter Banyard
c33805791d sapi/fuzzer: Fetch function and call it directly instead of using a zval to hold the name (#19030) 2025-07-06 01:29:48 +01:00
Niels Dossche
4152ca5c8a Fix fuzzer support after CALL VM changes (#18491) 2025-05-04 13:25:42 +02:00
David CARLIER
20d8561ed4 fuzzer support for FreeBSD, getting opcache location
Closes GH-7926.
2022-01-18 15:04:42 +01:00
codinghuang
5bda4cd25a Support specifying start position in compile_string
Add additional zend_compile_position argument, which can be either
AT_SHEBANG, AT_OPEN_TAG or AFTER_OPEN_TAG. The previous behavior
corresponds to AFTER_OPEN_TAG.

Closes GH-7462.
2021-09-30 10:21:33 +02:00
Nikita Popov
83fccc68d7 Consistently set bailed_out flag
It was not set for some of the bailouts, resulting in timeouts
in the function JIT fuzzer.

Fixes oss-fuzz #39293.
2021-09-28 12:16:22 +02:00
Nikita Popov
a12aee5cb3 Fix opcache path determination, again
We shouldn't be appending to the executable path, but rather to
the directory of the executable.
2021-09-24 16:27:44 +02:00
Nikita Popov
b732b6d06f Try to fetch opcache.so path relative to binary
While the cwd-relative lookup worked for the oss-fuzz docker images,
it doesn't seem to work on the cluster infrastructure. Try finding
opcache.so relative to the binary instead.
2021-09-23 16:44:03 +02:00
Nikita Popov
9d0c018668 Make sure dummy file for fuzzing exists 2021-09-22 10:58:25 +02:00
Nikita Popov
06a25c774d Add fuzzer for tracing jit 2021-09-22 10:32:46 +02:00
Nikita Popov
cd4243dde9 Add fuzzer for function JIT
This is a basic fuzzer for the function JIT, which looks for
crashes and sanitizer violations only, and does not try to detect
differing behavior yet.
2021-09-15 17:12:39 +02:00