| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
| |
If we create separate listening sockets in each worker using
SO_REUSEADDR, then an incoming connection may be load-balanced
to a process that is already busy, either due to a long-running
request, or because it is a recursive request (in which case we
would deadlock).
Instead, only create one listening socket, and only create worker
forks afterwards. This way the incoming request will be served
by one of the workers that is currently listening for an incoming
connection.
|
|\
| |
| |
| |
| | |
* PHP-7.4:
Update year to 2021
|
| |
| |
| |
| | |
Closes GH-6636.
|
| |
| |
| |
| |
| | |
This reverts commit 5e15c9c41f8318a8392c2e2c78544f218736549c, since
re2c default rules are only available as of re2c 0.13.7.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
CentOS 7 ships with re2c 0.13.5 by default, so we should not have
bumped the required re2c version to 0.13.7. However, 0.13.5 does not
support default rules, so we cannot use them to fix bug 76813.
This reverts commit 420184ad529443182c9a348a55b1c9216005c613 and
5e15c9c41f8318a8392c2e2c78544f218736549c.
Closes GH-6593.
|
|\ \
| |/ |
|
| | |
|
| |
| |
| |
| | |
phpdbg now disables JIT, so these cause XFAIL warnings.
|
| |
| |
| |
| | |
These are useful to seed typed property fuzzing.
|
|\ \
| |/
| |
| |
| | |
* PHP-7.4:
Fix #76813: Access violation near NULL on source operand
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We avoid `YYCURSOR` becoming `NULL` by initializing `YYMARKER`, and add
a default rule for `<NORMAL>` where we catch unexpected input.
We also fix the only superficially related issue regarding empty input
followed by `T_SEPARATOR` and command, which caused another segfault.
Closes GH-6464.
|
| |
| |
| |
| | |
Closes GH-6376
|
| |
| |
| |
| | |
Closes GH-6363.
|
| |
| |
| |
| |
| |
| |
| | |
This reverts commit 98bfad738ad2734dfba5733323f7ba733daf3ec3.
This doesn't work well in some setups, see bug #80113 and GH-5051.
Reverting this for now.
|
| | |
|
| |
| |
| |
| | |
Closes GH-6259
|
| |
| |
| |
| | |
Closes GH-6214.
|
| |
| |
| |
| | |
Closes GH-6166
|
| |
| |
| |
| | |
Closes GH-6173
|
| |
| |
| |
| | |
Closes GH-6167
|
| |
| |
| |
| |
| | |
This should fix most of the remaining issues with tabs and spaces
being mixed in tests.
|
| |
| |
| |
| |
| |
| | |
This is an annoying edge case that regularly gets broken. As we're
not aware of significant users of this API, and there are other
ways to hook this, remove support for EXT_NOP.
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
mb_ereg can throw now, so we need a dummy frame and need to
free the exception afterwards.
|
| |
| |
| |
| | |
Closes GH-6049.
|
| |
| |
| |
| |
| |
| |
| |
| | |
Otherwise the assignment will have the same number as the default arm
which will 1. mis-trigger a breakpoint and 2. mark the line as covered
even when it isn't.
Closes GH-6083
|
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| |
| | |
On Windows, we have to check whether stdout is attached to a console,
and whether that console supports VT100 control codes.
Closes GH-5996
|
| |
| |
| |
| | |
Opcode handlers use the FASTCALL calling convention...
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
To perform fast shutdown without full table cleanup we need all
internal functions to be in one continuous chunk. This was
violated when functions were deleted via disable_functions.
This drops the zend_disable_function() API in favor of
zend_disable_functions(), which disables the given list of
functions and performs the necessary rehash afterwards.
Also drop PG(disabled_functions), which is no longer used.
|
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| |
| |
| | |
The fpm code actually uses aa_change_profile(), not change_hat(). Test
for the correct function. (libapparmor always has both, so this is just
a correctness fix.)
Closes GH-6037.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The Apache MIME type map is not actively maintained anymore, so
this switches to jshttp/mime-db, which seems to be the de-facto
standard in this area now. This avoid the need to patch in our
own MIME types over time.
The preference algorithm is based on:
https://github.com/jshttp/mime-types/blob/47b62ac45e9b176a2af35532d0eea4968bb9eb6d/index.js#L154
Closes GH-5764.
|
| |
| |
| |
| |
| |
| |
| | |
The comments were incorrectly aligned. Fix this by dropping the
alignment and moving the comments before the declarations.
Closes GH-5975.
|
| |
| |
| |
| |
| |
| | |
We might just want to drop this completely, but at least don't
enable it by default. It already gets disabled by a number of
SAPIs, but we should make that the default state.
|
|\ \
| |/ |
|
| |\ |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The primary issue was already resolved in 7c3e487289ec41e560cf7a77e36eb43da2234f33,
but the particular example used in this bug report ran into an
additional issue on PHP 8, because I forgot to drop a number of
zend_bailout calls when switch require failure to throw.
|
| | |
| | |
| | |
| | |
| | |
| | | |
Make EG(exit_status) the single source of truth for the exit status,
instead of having two variables that we cannot really keep
synchronized.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Make sure we don't execute further scripts if one of them encountered
an exit exception.
Also make sure that we free file handles that end up unused due to
an early abort in php_execute_scripts(), which turned up as an
issue in the added test case.
Finally, make use of EG(exit_status) in the places where we
zend_eval_string_ex, instead of unconditionally assigning exit
code 254. If an error occurs, the error handler will already set
exit status 255.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Unconditionally strip shebang lines when using the CLI SAPI,
independently of whether they occur in the primary or non-primary
script. It's unlikely that someone intentionally wants to print
that shebang line when including a script, and this regularly
causes issues when scripts are used in multiple contexts, e.g.
for direct invocation and as a phar bootstrap.
|