]>
granicus.if.org Git - php/log
Dmitry Stogov [Wed, 29 Jul 2020 14:32:57 +0000 (17:32 +0300)]
Fixed bug #79888 (Incorrect execution with JIT enabled)
Nikita Popov [Wed, 29 Jul 2020 13:51:47 +0000 (15:51 +0200)]
Fix leak with nullsafe operator with constant LHS
Followup to
5303bcdd32e8171399c2c60bf431e5304a66c39a . We need to
perform the addref after emitting the opline, because that might
intern the string.
Fixes oss-fuzz #24479.
Nikita Popov [Wed, 29 Jul 2020 13:25:57 +0000 (15:25 +0200)]
Fix bug #79900
Run debug build shutdown GC regardless even if GC has been disabled.
Of course, this only does something meaningful if the GC has been
disabled at runtime and root collection is still enabled. We cannot
prevent leaks if GC is disabled completely.
Nikita Popov [Wed, 29 Jul 2020 10:45:26 +0000 (12:45 +0200)]
Remove PHP_CHECK_GCC_ARG()
In favor of AX_CHECK_COMPILE_FLAG(), which we bundle since at least
PHP 7.
Closes GH-5904.
Nikita Popov [Wed, 29 Jul 2020 13:04:41 +0000 (15:04 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fix test
Nikita Popov [Wed, 29 Jul 2020 13:04:23 +0000 (15:04 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix test
Nikita Popov [Wed, 29 Jul 2020 13:04:05 +0000 (15:04 +0200)]
Fix test
Dmitry Stogov [Wed, 29 Jul 2020 11:58:41 +0000 (14:58 +0300)]
Temporary disable abstract test usage for inferring previous type of variables (previous value may be in CPU register and type of the stack slot may be inconsistent).
Christoph M. Becker [Wed, 29 Jul 2020 11:37:50 +0000 (13:37 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Revert "Merge branch 'PHP-7.3' into PHP-7.4"
Christoph M. Becker [Wed, 29 Jul 2020 11:32:59 +0000 (13:32 +0200)]
Revert "Merge branch 'PHP-7.3' into PHP-7.4"
This reverts commit
e1f6ab3388f509782857557ee1e40a66b2bb6455 , reversing
changes made to
e0ebe56ebfc80bae3875b23eca4cbe0803f41e79 .
There are obviously issues with running tests in parallel, maybe
related to the cache ID. This needs to be investigated. Revert for
now.
Christoph M. Becker [Wed, 29 Jul 2020 10:47:41 +0000 (12:47 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Prevent test case from stalling
Christoph M. Becker [Wed, 29 Jul 2020 10:33:46 +0000 (12:33 +0200)]
Prevent test case from stalling
If the CTRL-C event can't be sent to the child for whatever reason, the
test will never terminate, because `proc_close()` waits for an infinite
amount of time. Therefore, we `proc_terminate()` the child instead,
after explicitly closing the pipes.
Nikita Popov [Wed, 29 Jul 2020 10:39:58 +0000 (12:39 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fix #79895: support = in PHP_CHECK_GCC_ARG m4 macro
Nikita Popov [Wed, 29 Jul 2020 10:38:35 +0000 (12:38 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix #79895: support = in PHP_CHECK_GCC_ARG m4 macro
Santiago M. Mola [Fri, 24 Jul 2020 20:46:11 +0000 (22:46 +0200)]
Fix #79895: support = in PHP_CHECK_GCC_ARG m4 macro
Closes GH-5890.
Dmitry Stogov [Wed, 29 Jul 2020 10:11:27 +0000 (13:11 +0300)]
Fixed live-range interval construction (close all frames)
twosee [Wed, 29 Jul 2020 09:48:01 +0000 (17:48 +0800)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Handle bindto error
twosee [Wed, 29 Jul 2020 09:46:57 +0000 (17:46 +0800)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Handle bindto error
twosee [Wed, 29 Jul 2020 04:59:44 +0000 (12:59 +0800)]
Handle bindto error
Closes GH-5903.
Nikita Popov [Wed, 29 Jul 2020 09:29:24 +0000 (11:29 +0200)]
Fix STR_OR_OBJ_OF_TYPE stringable handling
Nikita Popov [Wed, 29 Jul 2020 08:59:40 +0000 (10:59 +0200)]
Move patch to right place
This was supposed to be for laravel, not symfony.
[ci skip]
Christoph M. Becker [Wed, 29 Jul 2020 08:17:22 +0000 (10:17 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fix #73060: php failed with error after temp folder cleaned up
Christoph M. Becker [Wed, 29 Jul 2020 08:11:11 +0000 (10:11 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix #73060: php failed with error after temp folder cleaned up
Christoph M. Becker [Tue, 28 Jul 2020 12:40:04 +0000 (14:40 +0200)]
Fix #73060: php failed with error after temp folder cleaned up
Instead of storing the mapping base address and the address of
`execute_ex()` in a separate file in the temporary folder, we store
them right at the beginning of the memory mapping.
Nikita Popov [Wed, 29 Jul 2020 07:54:12 +0000 (09:54 +0200)]
Try to fix laravel PHP 8 incompatibility
[ci skip]
Dmitry Stogov [Wed, 29 Jul 2020 07:42:12 +0000 (10:42 +0300)]
Use inline function instead of macro
Dmitry Stogov [Wed, 29 Jul 2020 07:10:37 +0000 (10:10 +0300)]
Merge common "cold" part
George Peter Banyard [Wed, 29 Jul 2020 01:51:09 +0000 (02:51 +0100)]
Implement 'Saner Numeric Strings' RFC:
RFC: https://wiki.php.net/rfc/saner-numeric-strings
This removes the -1 allow_error mode from is_numeric_string functions and replaces it by
a trailing boolean out argument to preserve BC in a couple of places.
Most of the changes can be resumed to "numeric" strings which emitted a E_NOTICE now emit
a E_WARNING and "numeric" strings which emitted a E_WARNING now throw a TypeError.
This mostly affects:
- String offsets
- Arithmetic operations
- Bitwise operations
Closes GH-5762
Andrea Faulds [Wed, 24 Jun 2020 13:05:58 +0000 (15:05 +0200)]
Permit trailing whitespace in numeric strings
This is part 1 of the 'Saner Numeric Strings' RFC:
https://wiki.php.net/rfc/saner-numeric-strings
Dmitry Stogov [Tue, 28 Jul 2020 20:31:58 +0000 (23:31 +0300)]
Fixed incorrect reuse of exit_point
George Peter Banyard [Mon, 20 Jul 2020 12:47:35 +0000 (13:47 +0100)]
Refactor user streams to use ZPP class check
Closes GH-5876
Dmitry Stogov [Tue, 28 Jul 2020 16:03:05 +0000 (19:03 +0300)]
Check for EG(exception) after leaving function frame
Dmitry Stogov [Tue, 28 Jul 2020 16:02:08 +0000 (19:02 +0300)]
Prevent incorrect optimization
Máté Kocsis [Mon, 18 May 2020 18:32:21 +0000 (20:32 +0200)]
Fix UNKNOWN default values in ext/mbstring and ext/gd
Closes GH-5598
David Carlier [Sat, 25 Jul 2020 17:15:54 +0000 (17:15 +0000)]
Check for shm_open() in libroot to support Haiku
Resides on libroot (system runtime) on this platform.
Closes GH-5892.
Nikita Popov [Tue, 28 Jul 2020 13:39:22 +0000 (15:39 +0200)]
Fix typo in test
Theodore Brown [Thu, 2 Jul 2020 15:56:21 +0000 (09:56 -0600)]
Implement Shorter Attribute Syntax
RFC: https://wiki.php.net/rfc/shorter_attribute_syntax
Closes GH-5796.
Co-authored-by: Martin Schröder <m.schroeder2007@gmail.com>
Christoph M. Becker [Tue, 28 Jul 2020 12:02:25 +0000 (14:02 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fix #79806: realpath() erroneously resolves link to link
Christoph M. Becker [Tue, 28 Jul 2020 12:00:08 +0000 (14:00 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix #79806: realpath() erroneously resolves link to link
Christoph M. Becker [Tue, 28 Jul 2020 09:22:57 +0000 (11:22 +0200)]
Fix #79806: realpath() erroneously resolves link to link
After resolving reparse points, the path still may be a reparse point;
in that case we have to resolve that reparse point as well.
Dmitry Stogov [Tue, 28 Jul 2020 10:38:43 +0000 (13:38 +0300)]
Move asserts to better places
Côme Chilliet [Tue, 28 Jul 2020 08:32:03 +0000 (10:32 +0200)]
Merge branch 'master' of git.php.net:/php-src
* 'master' of git.php.net:/php-src:
Replace ZEND_JIT_TRACE_MAX_EXIT_COUNTERS constant by opcache.jit_max_exit_counters configuration directive
Fix use-after-free when nullsafe used with constant LHS
Côme Chilliet [Tue, 28 Jul 2020 08:29:14 +0000 (10:29 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Updated NEWS
fix memory leaks in ext/ldap/ldap.c
fix memory leaks in ext/ldap/ldap.c
Côme Chilliet [Tue, 28 Jul 2020 08:28:31 +0000 (10:28 +0200)]
Updated NEWS
Côme Chilliet [Tue, 28 Jul 2020 08:27:52 +0000 (10:27 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
fix memory leaks in ext/ldap/ldap.c
Paweł Tomulik [Mon, 13 Jul 2020 04:19:34 +0000 (06:19 +0200)]
fix memory leaks in ext/ldap/ldap.c
Paweł Tomulik [Fri, 10 Jul 2020 19:55:42 +0000 (21:55 +0200)]
fix memory leaks in ext/ldap/ldap.c
Dmitry Stogov [Tue, 28 Jul 2020 08:18:18 +0000 (11:18 +0300)]
Replace ZEND_JIT_TRACE_MAX_EXIT_COUNTERS constant by opcache.jit_max_exit_counters configuration directive
Nikita Popov [Tue, 28 Jul 2020 07:48:13 +0000 (09:48 +0200)]
Fix use-after-free when nullsafe used with constant LHS
Fixes oss-fuzz #24436.
Dmitry Stogov [Tue, 28 Jul 2020 01:16:16 +0000 (04:16 +0300)]
Avoid redundand EX(opline) initialization
Dmitry Stogov [Tue, 28 Jul 2020 00:23:28 +0000 (03:23 +0300)]
Always record ZEND_JIT_TRACE_START and ZEND_JIT_TRACE_END
Dmitry Stogov [Mon, 27 Jul 2020 21:14:28 +0000 (00:14 +0300)]
Update abstarct stack before guard to keep proper type in side trace
Dmitry Stogov [Mon, 27 Jul 2020 20:27:07 +0000 (23:27 +0300)]
Fixed incorrect side exit opline of "fake" init_fcall guard
Benjamin Eberlei [Mon, 27 Jul 2020 17:32:00 +0000 (19:32 +0200)]
Consolidate Parameter Names For ext/simplexml
Co-authored-by: Thomas Weinert <thomas@weinert.info>
Benjamin Eberlei [Mon, 27 Jul 2020 17:31:25 +0000 (19:31 +0200)]
Consolidate Parameter Names For ext/dom
Co-authored-by: Thomas Weinert <thomas@weinert.info>
Dmitry Stogov [Mon, 27 Jul 2020 18:53:58 +0000 (21:53 +0300)]
Correct assertion
Dmitry Stogov [Mon, 27 Jul 2020 18:11:07 +0000 (21:11 +0300)]
Fixed incorrect abstract stack size calculation
Nikita Popov [Mon, 27 Jul 2020 16:40:51 +0000 (18:40 +0200)]
Remove unused func_info variable
Nikita Popov [Mon, 27 Jul 2020 13:56:49 +0000 (15:56 +0200)]
Automatically enable DASM_CHECKS in debug mode
Christoph M. Becker [Mon, 27 Jul 2020 15:53:23 +0000 (17:53 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Revert "Fix #79806: realpath() erroneously resolves link to link"
Christoph M. Becker [Mon, 27 Jul 2020 15:51:39 +0000 (17:51 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Revert "Fix #79806: realpath() erroneously resolves link to link"
Christoph M. Becker [Mon, 27 Jul 2020 15:50:41 +0000 (17:50 +0200)]
Revert "Fix #79806: realpath() erroneously resolves link to link"
This reverts commit
d5b59b4303642adac91df2c93969a72bc0f5fa7d .
Dmitry Stogov [Mon, 27 Jul 2020 14:31:02 +0000 (17:31 +0300)]
Remove unused fields
Dmitry Stogov [Mon, 27 Jul 2020 14:22:03 +0000 (17:22 +0300)]
More accurate checks to eliminate reloading
Nikita Popov [Mon, 27 Jul 2020 13:52:43 +0000 (15:52 +0200)]
Fix verify type jit for complex type masks
We should not try to check things like MAY_BE_CALLABLE in the fast
path, because those aren't real types. This is only actively wrong
for the concrete_type case, for the mask case it just uses an
unnecessarily large immediate.
Nikita Popov [Mon, 27 Jul 2020 13:26:11 +0000 (15:26 +0200)]
Emit diagnostic on dasm_link() failure
Tyson Andre [Mon, 27 Jul 2020 13:39:24 +0000 (09:39 -0400)]
[skip ci] Add zend.exception_string_param_max_len to UPGRADING
For GH-5769 (mentioned in
07db64156e180c30daa5ab5d41ed72f9bba77e6d )
Dmitry Stogov [Mon, 27 Jul 2020 13:37:15 +0000 (16:37 +0300)]
Properly cleanup in case of abort because too many functions in single trace.
Derick Rethans [Mon, 27 Jul 2020 13:15:06 +0000 (14:15 +0100)]
Mention that an API bump must be done with RC1
It's okay to change the API change up until the first release candidate only,
and it may not be changed afterwards.
There is a discussion at https://github.com/php/php-src/pull/4470/files that
never resulted in a fix.
/cc @sgolemon @carusogabriel
Christoph M. Becker [Mon, 27 Jul 2020 13:11:39 +0000 (15:11 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fix #79806: realpath() erroneously resolves link to link
Christoph M. Becker [Mon, 27 Jul 2020 13:10:11 +0000 (15:10 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix #79806: realpath() erroneously resolves link to link
Christoph M. Becker [Wed, 15 Jul 2020 16:37:27 +0000 (18:37 +0200)]
Fix #79806: realpath() erroneously resolves link to link
After resolving reparse points, the path still may be a reparse point;
in that case we have to resolve that reparse point as well.
Nikita Popov [Mon, 27 Jul 2020 13:01:29 +0000 (15:01 +0200)]
JIT internal functions with return type in debug mode
The return type check is just a debug assertion, it's okay if it
is not performed in JIT mode. We already don't perform all the
argument validation in that case. Just disable the one test that
checks for this.
This removes an annoying discrepancy between debug&release mode.
Dmitry Stogov [Mon, 27 Jul 2020 11:45:02 +0000 (14:45 +0300)]
Prevent setting of incorrect continuation counters
Máté Kocsis [Mon, 27 Jul 2020 11:14:21 +0000 (13:14 +0200)]
Fix microtime() test
Derick Rethans [Mon, 27 Jul 2020 10:42:13 +0000 (11:42 +0100)]
Last pass of 'More consistent parameter names for date/time functions'
Dmitry Stogov [Mon, 27 Jul 2020 10:18:34 +0000 (13:18 +0300)]
Fixed incorrect reference counting (we shouldn't skip ADDREF for IS_CV result)
Christoph M. Becker [Mon, 27 Jul 2020 09:56:52 +0000 (11:56 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fix #77932: File extensions are case-sensitive
Christoph M. Becker [Mon, 27 Jul 2020 09:54:38 +0000 (11:54 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix #77932: File extensions are case-sensitive
Christoph M. Becker [Mon, 27 Jul 2020 08:13:52 +0000 (10:13 +0200)]
Fix #77932: File extensions are case-sensitive
The file extension to mime type mapping *must* not depend on the file
extension's case for case-insensitive file systems, and *should* not
for case-sensitive file systems.
Nikita Popov [Mon, 27 Jul 2020 08:27:26 +0000 (10:27 +0200)]
Fix null pointer deref in compile_return()
Fixes oss-fuzz #24387.
Nikita Popov [Mon, 27 Jul 2020 08:17:19 +0000 (10:17 +0200)]
Add AST export support for nullsafe operator
Fixes oss-fuzz #24403 and variants.
Dmitry Stogov [Mon, 27 Jul 2020 08:13:23 +0000 (11:13 +0300)]
type in comment
Dmitry Stogov [Mon, 27 Jul 2020 07:46:58 +0000 (10:46 +0300)]
Fixed memory leaks
Derick Rethans [Sun, 26 Jul 2020 09:38:53 +0000 (10:38 +0100)]
Another pass of improving ext/date argument names
Derick Rethans [Sun, 26 Jul 2020 09:09:27 +0000 (10:09 +0100)]
Merge branch 'PHP-7.4'
Derick Rethans [Sun, 26 Jul 2020 09:08:52 +0000 (10:08 +0100)]
PHP-7.4 is 7.4.10-dev now
Tyson Andre [Thu, 25 Jun 2020 13:44:12 +0000 (09:44 -0400)]
[RFC] Make string length for getTraceAsString() configurable
Add a `zend.exception_string_param_max_len` ini setting.
(same suffix as `log_errors_max_len`)
Allow values between 0 and
1000000 bytes.
For example, with zend.exception_string_param_max_len=0,
"" would represent the empty string, and "..." would represent something
longer than the empty string.
Previously, this was hardcoded as exactly 15 bytes.
Discussion: https://externals.io/message/110717
Closes GH-5769
Máté Kocsis [Fri, 24 Jul 2020 08:46:37 +0000 (10:46 +0200)]
Cleanup argument handling in ext/reflection
Closes GH-5850
Nikita Popov [Fri, 24 Jul 2020 14:39:16 +0000 (16:39 +0200)]
Support class+mask union for internal argument
Derick Rethans [Fri, 24 Jul 2020 10:39:46 +0000 (11:39 +0100)]
More consistent parameter names for date/time functions
Dmitry Stogov [Fri, 24 Jul 2020 10:26:03 +0000 (13:26 +0300)]
Result of branching opcode in side trace is unknown
Nikita Popov [Fri, 24 Jul 2020 08:16:38 +0000 (10:16 +0200)]
Fix bug #79108
Don't expose references in debug_backtrace() or exception traces.
This is regardless of whether the argument is by-reference or not.
As a side-effect of this change, exception traces may now acquire
the interior value of a reference, which may be unexpected for
some internal functions. This is what necessitated the change in
the spl_array sort implementation.
Nikita Popov [Fri, 24 Jul 2020 09:58:10 +0000 (11:58 +0200)]
Validate collator earlier during sort
Check this once before the sort, instead of on every compare.
Also directly store the UCollator to make things more obvious.
Nikita Popov [Fri, 24 Jul 2020 09:43:27 +0000 (11:43 +0200)]
Avoid UNKNOWN default in PDO::query()
Máté Kocsis [Fri, 24 Jul 2020 08:06:45 +0000 (10:06 +0200)]
Add the Z_PARAM_PATH_OR_NULL() and Z_PARAM_ZVAL_OR_NULL() macros
Nikita Popov [Fri, 24 Jul 2020 08:35:03 +0000 (10:35 +0200)]
Make nested ternary without parentheses a compile error
This was deprecated in PHP 7.4.
Ilija Tovilo [Sun, 24 May 2020 10:42:48 +0000 (12:42 +0200)]
Implement nullsafe ?-> operator
RFC: https://wiki.php.net/rfc/nullsafe_operator
Closes GH-5619.
Co-authored-by: Nikita Popov <nikita.ppv@gmail.com>
George Wang [Thu, 23 Jul 2020 21:21:24 +0000 (17:21 -0400)]
Address some compiler warnings.
George Wang [Thu, 23 Jul 2020 20:08:54 +0000 (16:08 -0400)]
Merge branch 'PHP-7.4'