| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Fixes a leak in the seed corpus.
|
|
|
|
|
| |
This allows to eliminate re-calculation of string lenght and hash value.
See the detailed list of changes in UPGRADING.INTERNALS.
|
|
|
|
|
|
|
| |
We're starting to see a mix between uses of zend_bool and bool.
Replace all usages with the standard bool type everywhere.
Of course, zend_bool is retained as an alias.
|
| |
|
|
|
|
| |
These are useful to seed typed property fuzzing.
|
|
|
|
|
| |
mb_ereg can throw now, so we need a dummy frame and need to
free the exception afterwards.
|
|
|
|
|
| |
We only have 4 Zend test cases > 8k. Large inputs tend to just
make things slower.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
The combination of LimitIterator and InfiniteIterator can cause
effectively infinite loops that bypass the executor step limit.
|
|
|
|
| |
Add pfsockopen and stream_socket_server.
|
|
|
|
| |
Opcode handlers use the FASTCALL calling convention...
|
|
|
|
| |
This was supposed to include the header, not the C file...
|
|
|
|
| |
And add crypt() to the function blacklist, it can be very slow.
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
| |
Unlike the straight unserialize fuzzer, this runs only on HashContexts,
and it does an update and finalize on the contexts it creates.
Co-authored-by: Nikita Popov <nikic@php.net>
|
|
|
|
|
| |
Drop --enable-json flag and make it more obvious that clang needs
to be used.
|
|
|
|
| |
Closes GH-5676.
|
|
|
|
| |
JSON is now always enabled
|
|
|
|
|
|
| |
At least one segfault observed because temp file creation failed.
Switch to using a memory stream, which should be more robust, and
more efficient for that matter.
|
|
|
|
|
|
|
| |
We fix the most often occuring typos according to a recent codespell
report[1] in tests, code comments and documentation.
[1] <https://fossies.org/linux/test/php-src-master-f8f48ce.191129.tar.gz/codespell.html>.
|
|
|
|
|
| |
Depth limit of 1024 still causes optimize_node stack overflows
when running under asan.
|
|
|
|
|
| |
The default depth of 4096 is large enough to cause optimize_node
stack overflows under asan. Reduce to 1024.
|
|
|
|
|
| |
Avoid stack overflows during compilation of deeply nested
expressions.
|
|
|
|
|
|
|
|
|
| |
For some patterns matching may take quite long even at retry limit
100000 and it seems that this is not easy to fix on the oniguruma
side.
Reduce the retry limit by another factor of 10 in hope of reducing
timeouts.
|
|
|
|
|
|
| |
This has the main benefit that we don't go through the
realpath cache, which will cause leak checking to be
disabled.
|
|
|
|
|
|
| |
The defaults are fairly conservative and may still take quite a
bit to match a single expression. Reduce them by a factor of 10x
to speed up fuzzing.
|
|
|
|
|
|
|
| |
The next section after --FILE-- is not necessarily --EXPECT--.
Accept any section.
Closes GH-4770.
|
|
|
|
| |
Probably still too much...
|
|
|
|
| |
To build fuzzers with memory sanitizer.
|
|
|
|
|
| |
Funny how despite all those sanitizers running, nothing ever
caught this...
|
|
|
|
|
|
| |
* Avoid an unnecessary -lstdc++ dependency. It's not going to be
used in the end anyway, and is an unnecessary hassle to set up.
* Use $LIB_FUZZING_ENGINE instead of hardcoding -lFuzzingEngine.
|
|
|
|
|
|
|
|
|
| |
We're getting some very large inputs (~500KB) on OSS-Fuzz, which
slot down performance a lot. Let's try limiting this, starting
with a still fairly large value of 64KB.
Also remove the max_execution_time limit, so that slow test cases
cause a genuine libfuzzer timeout and we may investigate them.
|
|
|
|
| |
Closes GH-4732.
|
| |
|
|
|
|
|
|
| |
Some bugs are already fixed there.
[ci skip]
|
|
|
|
| |
[ci skip]
|
| |
|
| |
|
|
|