Commit Graph

9 Commits

Author SHA1 Message Date
Nikita Popov
93a88a1d4c Limit internal function args during fuzzing
Restrict the size of string arguments in the hope of avoiding some
very common timeouts with pcre. If this doesn't work, the functions
need to be disabled entirely.
2021-08-26 15:08:23 +02:00
Nikita Popov
cae80ef552 Limit internal function calls in execute fuzzer
Infinite recursion might occur purely through internal functions,
without reentering the executor.
2021-08-26 14:42:45 +02:00
Nikita Popov
ef938d5ee4 Revert "Disable destructors on fuzzer bailout"
This reverts commit ed33262dbb.

With adjusted bailout handling in fibers, this should no longer
be necessary.
2021-05-07 23:06:20 +02:00
Nikita Popov
ed33262dbb Disable destructors on fuzzer bailout
This is what we normally do for fatal errors. The reason why this
became necessary now, is that a bailout can switch from a fiber
back to the main stack. In that case we do not want to try
destroying the fiber.

Fixes oss-fuzz #33917.
2021-05-06 18:42:38 +02:00
KsaR
01b3fc03c3
Update http->https in license (#6945)
1. Update: http://www.php.net/license/3_01.txt to https, as there is anyway server header "Location:" to https.
2. Update few license 3.0 to 3.01 as 3.0 states "php 5.1.1, 4.1.1, and earlier".
3. In some license comments is "at through the world-wide-web" while most is without "at", so deleted.
4. fixed indentation in some files before |
2021-05-06 12:16:35 +02:00
Nikita Popov
af0ba0b2d3 Reduce input size limit in execute fuzzer
We only have 4 Zend test cases > 8k. Large inputs tend to just
make things slower.
2020-09-07 22:58:34 +02:00
Nikita Popov
9475bcbef7 Avoid large eval inputs in fuzzer
While we limit the size of the main compilation input, the size
of eval inputs was not limited. This could result in stack
overflows, e.g. oss-fuzz #25464.
2020-09-07 11:53:01 +02:00
Nikita Popov
f0dfdca0ae Fix execute fuzzer on i386
Opcode handlers use the FASTCALL calling convention...
2020-08-28 17:03:54 +02:00
Nikita Popov
c29838c561 Add experimental "execute" fuzzer
This is an end-to-end fuzzer that executes arbitrary PHP code.

We replace the executor with a finite-step executor to avoid
getting stuck in loops or recursion.
2020-08-27 13:06:24 +02:00