summaryrefslogtreecommitdiff
path: root/Zend
Commit message (Collapse)AuthorAgeFilesLines
* Bump versionphp-7.3.14PHP-7.3.14Christoph M. Becker2020-01-211-1/+1
|
* Bump versionphp-7.3.14RC1Christoph M. Becker2020-01-071-1/+1
|
* Fixed bug #78999 (Cycle leak when using function result as temporary)Dmitry Stogov2019-12-193-0/+53
|
* Add destructor annotations in ini parserNikita Popov2019-12-191-1/+1
| | | | | It would be better to switch this to use %union and %type annotations, but not going to do that change for 7.3.
* Rethrow generator exception even without active stack frameNikita Popov2019-12-182-3/+34
| | | | | | | Finally blocks in generators may be invoked during shutdown, in which case we don't have a stack frame. Similar to what zend_call_function does, we still need to rethrow these exceptions, otherwise they will be hidden (and leak).
* Fix freeing of dynamic call nameNikita Popov2019-12-183-10/+30
| | | | | | We need to free op2 if the call construction fails. Also remove a redundant check for !call.
* Fixed bug #78921Nikita Popov2019-12-132-0/+40
| | | | | By resetting fake_scope during autoloading. We already do the same when executing destructors.
* Fix constant evaluation of && and ||Nikita Popov2019-12-062-12/+24
| | | | | | | | | | | | The "return" in the for loop should have been a break on the switch, otherwise the result is just ignored... but because it prevents evaluation of the other operand, it also violates the invariant that everything has been constant evaluated, resulting in an assertion failure. The for loop isn't correct in any case though, because it's not legal to determine the result based on just the second operand, as the first one may have a side-effect that cannot be optimized away.
* Fix AST printing of nullable builtin typesNikita Popov2019-12-042-3/+3
| | | | Fixes oss-fuzz #19109.
* Next is 7.3.14Christoph M. Becker2019-12-031-1/+1
|
* Fixed bug #78868 (Calling __autoload() with incorrect EG(fake_scope) value)Dmitry Stogov2019-11-252-0/+39
|
* Merge branch 'PHP-7.2' into PHP-7.3Dmitry Stogov2019-11-182-8/+24
|\ | | | | | | | | * PHP-7.2: Fix $x = (bool)$x; for undefined with opcache
| * Fix $x = (bool)$x; for undefined with opcacheTyson Andre2019-11-182-8/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | And `$x = !$x` Noticed while working on GH-4912 The included test would not emit undefined variable errors in php 8.0 with opcache enabled. The command used: ``` php -d zend_extension=opcache.so --no-php-ini -d error_reporting=E_ALL \ -d opcache.file_cache= -d opcache.enable_cli=1 test.php ```
* | Fixed bug #78787Nikita Popov2019-11-062-4/+30
| | | | | | | | | | Not the first time inheritance of shadow properties causes an issue, thankfully this whole concept is gone in PHP 7.4.
* | 7.3.13 is nextChristoph M. Becker2019-11-051-1/+1
| |
* | Merge branch 'PHP-7.2' into PHP-7.3Nikita Popov2019-10-301-0/+1
|\ \ | |/ | | | | | | * PHP-7.2: Add missing refcount increment
| * Add missing refcount incrementNikita Popov2019-10-301-0/+1
| |
* | Merge branch 'PHP-7.2' into PHP-7.3Nikita Popov2019-10-292-1/+21
|\ \ | |/ | | | | | | * PHP-7.2: Fixed bug #78689
| * Fixed bug #78689Nikita Popov2019-10-292-1/+21
| |
* | Merge branch 'PHP-7.2' into PHP-7.3Nikita Popov2019-10-282-8/+36
|\ \ | |/ | | | | | | * PHP-7.2: Fix bug #78752
| * Fix bug #78752Nikita Popov2019-10-282-8/+36
| | | | | | | | | | | | | | | | | | NULL out the execute_data before destroying it, otherwise GC may trigger while the execute_data is partially destroyed, resulting in double-frees. The handling of call stack unfreezing is a bit awkward because it's a ZEND_API function, so we can't change the signature.
* | Merge branch 'PHP-7.2' into PHP-7.3Nikita Popov2019-10-103-0/+28
|\ \ | |/
| * Fix leak on static method call on non-existent classNikita Popov2019-10-103-0/+28
| |
* | Fixed bug #78658Nikita Popov2019-10-092-1/+15
| |
* | 7.3.12 is nextChristoph M. Becker2019-10-081-1/+1
| |
* | Make sure T_ERROR is returned for all lexer exceptionsNikita Popov2019-10-043-119/+153
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This originally manifested as a leak in oss-fuzz #18000. The following is a reduced test case: <?php [ 5 => 1, "foo" > 1, " " => "" == 0 ]; <<<BAR $x BAR; Because this particular error condition did not return T_ERROR, EG(exception) was set while performing binary operation constant evaluation, which checks exceptions for cast failures. Instead of adding this indirect test case, I'm adding an assertion that the lexer has to return T_ERROR if EG(exception) is set.
* | Merge branch 'PHP-7.2' into PHP-7.3Christoph M. Becker2019-10-041-2/+7
|\ \ | |/ | | | | | | * PHP-7.2: Fix #78620: Out of memory error
| * Fix #78620: Out of memory errorChristoph M. Becker2019-10-041-2/+7
| | | | | | | | | | The integer addition in `ZEND_MM_ALIGNED_SIZE_EX` can overflow, what we have to catch early.
* | Merge branch 'PHP-7.2' into PHP-7.3Christoph M. Becker2019-10-021-5/+0
|\ \ | |/ | | | | | | * PHP-7.2: Revert "Fix #78620: Out of memory error"
| * Revert "Fix #78620: Out of memory error"Christoph M. Becker2019-10-021-5/+0
| | | | | | | | | | | | This reverts commit 8ce04df7e0108a10f7b782a28204e9384ab1129c. Cf. <https://github.com/php/php-src/pull/4766#discussion_r330658679>.
* | Merge branch 'PHP-7.2' into PHP-7.3Christoph M. Becker2019-10-021-0/+5
|\ \ | |/ | | | | | | * PHP-7.2: Fix #78620: Out of memory error
| * Fix #78620: Out of memory errorChristoph M. Becker2019-10-021-0/+5
| | | | | | | | | | If the integer addition in `ZEND_MM_ALIGNED_SIZE_EX` overflows, the macro evaluates to `0`, what we should catch early.
* | Merge branch 'PHP-7.2' into PHP-7.3Nikita Popov2019-10-022-0/+11
|\ \ | |/
| * Fix segfault with __COMPILER_HALT_OFFSET__ and trailing {}Nikita Popov2019-10-022-0/+11
| | | | | | | | Fixes OSS-Fuzz #17895.
* | Don't throw warnings during heredoc scan-aheadNikita Popov2019-09-284-181/+207
| | | | | | | | Otherwise these warnings will turn up twice (or more...)
* | Merge branch 'PHP-7.2' into PHP-7.3Nikita Popov2019-09-262-0/+26
|\ \ | |/
| * Fix memory leak with ** on array operandsNikita Popov2019-09-262-0/+26
| |
* | Merge branch 'PHP-7.2' into PHP-7.3Nikita Popov2019-09-262-1/+5
|\ \ | |/
| * Fix null-pointer deref in if stmt printingNikita Popov2019-09-262-1/+5
| | | | | | | | Fixes OSS-Fuzz #17721.
* | Merge branch 'PHP-7.2' into PHP-7.3Nikita Popov2019-09-161-2/+2
|\ \ | |/
| * Fixed bug #78545Nikita Popov2019-09-161-2/+2
| | | | | | | | By using an explicit (double) cast.
* | PHP 7.3.10RC1 has been taggedChristoph M. Becker2019-09-101-1/+1
| |
* | Merge branch 'PHP-7.2' into PHP-7.3Nikita Popov2019-08-293-3/+26
|\ \ | |/
| * Fix use-after-free of immediately invoked closure with extra argsNikita Popov2019-08-293-2/+21
| |
* | Merge branch 'PHP-7.2' into PHP-7.3Nikita Popov2019-08-262-0/+32
|\ \ | |/
| * Remove properties HT from nested GC dataNikita Popov2019-08-262-0/+30
| | | | | | | | | | | | | | The properties HT may be a GC root itself, so we need to remove it. I'm not sure this issue actually applies to PHP 7.2, but committing it there to be safe. As seen from the test case, the handling here is rather buggy on 7.2.
* | Merge branch 'PHP-7.2' into PHP-7.3Nikita Popov2019-08-261-5/+5
|\ \ | |/
| * Fix overflow in memory limit checksNikita Popov2019-08-261-5/+5
| | | | | | | | | | | | Due to overflows in the memory limit checks, we were missing cases where the allocation size was close to the address space size, and caused an OOM condition rather than a memory limit error.
* | Fix #78441: Parse error due to heredoc identifier followed by digitChristoph M. Becker2019-08-214-356/+382
| | | | | | | | | | Since digits are allowed for identifiers, we have to cater to them as well.
* | Merge branch 'PHP-7.2' into PHP-7.3Christoph M. Becker2019-08-191-2/+18
|\ \ | |/ | | | | | | * PHP-7.2: Fix #78220: Can't access OneDrive folder