summaryrefslogtreecommitdiff
path: root/Zend/tests
Commit message (Collapse)AuthorAgeFilesLines
* Fixed bug #78999 (Cycle leak when using function result as temporary)Dmitry Stogov2019-12-191-0/+17
|
* Rethrow generator exception even without active stack frameNikita Popov2019-12-181-0/+30
| | | | | | | 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-181-0/+28
| | | | | | We need to free op2 if the call construction fails. Also remove a redundant check for !call.
* Fixed bug #78921Nikita Popov2019-12-131-0/+36
| | | | | By resetting fake_scope during autoloading. We already do the same when executing destructors.
* Fix constant evaluation of && and ||Nikita Popov2019-12-061-0/+9
| | | | | | | | | | | | 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-041-2/+2
| | | | Fixes oss-fuzz #19109.
* Fixed bug #78868 (Calling __autoload() with incorrect EG(fake_scope) value)Dmitry Stogov2019-11-251-0/+33
|
* Fixed bug #78787Nikita Popov2019-11-061-0/+22
| | | | | Not the first time inheritance of shadow properties causes an issue, thankfully this whole concept is gone in PHP 7.4.
* Merge branch 'PHP-7.2' into PHP-7.3Nikita Popov2019-10-291-0/+13
|\ | | | | | | | | * PHP-7.2: Fixed bug #78689
| * Fixed bug #78689Nikita Popov2019-10-291-0/+13
| |
* | Merge branch 'PHP-7.2' into PHP-7.3Nikita Popov2019-10-281-0/+24
|\ \ | |/ | | | | | | * PHP-7.2: Fix bug #78752
| * Fix bug #78752Nikita Popov2019-10-281-0/+24
| | | | | | | | | | | | | | | | | | 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-101-0/+15
|\ \ | |/
| * Fix leak on static method call on non-existent classNikita Popov2019-10-101-0/+15
| |
* | Fixed bug #78658Nikita Popov2019-10-091-0/+14
| |
* | Merge branch 'PHP-7.2' into PHP-7.3Nikita Popov2019-10-021-0/+8
|\ \ | |/
| * Fix segfault with __COMPILER_HALT_OFFSET__ and trailing {}Nikita Popov2019-10-021-0/+8
| | | | | | | | Fixes OSS-Fuzz #17895.
* | Don't throw warnings during heredoc scan-aheadNikita Popov2019-09-281-0/+20
| | | | | | | | Otherwise these warnings will turn up twice (or more...)
* | Merge branch 'PHP-7.2' into PHP-7.3Nikita Popov2019-09-261-0/+17
|\ \ | |/
| * Fix memory leak with ** on array operandsNikita Popov2019-09-261-0/+17
| |
* | Merge branch 'PHP-7.2' into PHP-7.3Nikita Popov2019-09-261-0/+4
|\ \ | |/
| * Fix null-pointer deref in if stmt printingNikita Popov2019-09-261-0/+4
| | | | | | | | Fixes OSS-Fuzz #17721.
* | Merge branch 'PHP-7.2' into PHP-7.3Nikita Popov2019-08-291-0/+11
|\ \ | |/
| * Fix use-after-free of immediately invoked closure with extra argsNikita Popov2019-08-291-0/+11
| |
* | Merge branch 'PHP-7.2' into PHP-7.3Nikita Popov2019-08-261-0/+28
|\ \ | |/
| * Remove properties HT from nested GC dataNikita Popov2019-08-261-0/+26
| | | | | | | | | | | | | | 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.
* | Fix #78441: Parse error due to heredoc identifier followed by digitChristoph M. Becker2019-08-211-0/+24
| | | | | | | | | | Since digits are allowed for identifiers, we have to cater to them as well.
* | Fixed bug #77922Nikita Popov2019-08-171-0/+20
| | | | | | | | | | | | | | In PHP 7.3 shadow properties are no longer duplicated. Make sure we only release them if the property was defined on the parent class, which means that it changed from private->shadow, which is where duplication does happen.
* | Merge branch 'PHP-7.2' into PHP-7.3Dmitry Stogov2019-08-091-0/+35
|\ \ | |/ | | | | | | * PHP-7.2: Fixed handling of references in nested data of objects with destructor
| * Fixed handling of references in nested data of objects with destructorDmitry Stogov2019-08-091-0/+35
| |
* | Merge branch 'PHP-7.2' into PHP-7.3Dmitry Stogov2019-08-091-0/+19
|\ \ | |/ | | | | | | * PHP-7.2: Fixed second part of the bug #78379 (Cast to object confuses GC, causes crash)
| * Fixed second part of the bug #78379 (Cast to object confuses GC, causes crash)Dmitry Stogov2019-08-091-0/+19
| |
* | Merge branch 'PHP-7.2' into PHP-7.3Dmitry Stogov2019-08-081-0/+32
|\ \ | |/ | | | | | | * PHP-7.2: Fixed bug #78379 (Cast to object confuses GC, causes crash)
| * Fixed bug #78379 (Cast to object confuses GC, causes crash)Dmitry Stogov2019-08-081-0/+32
| |
* | Add test for bug #78363Nikita Popov2019-08-021-0/+0
| |
* | Convert short tag to standard tag in Zend test fileGeorge Peter Banyard2019-07-161-1/+1
| | | | | | | | | | | | Closes GH-4389. (cherry picked from commit e6c2b288652cf9c8d0b92d2842d73b3eb2431860)
* | Fixed bug #78010Nikita Popov2019-07-151-0/+32
| | | | | | | | | | Prevent the gc_info from becoming all zero for a registered root by setting the top bit to one for compressed root addresses.
* | Fix bug #78271Nikita Popov2019-07-101-0/+27
| | | | | | | | | | | | | | | | | | | | | | When cleaning nops in the dfa pass, we were always keeping the smart branch inhibiting nop that occurs directly before the jump instruction. However, as we skip unreachable blocks entirely, it may happen that we need to keep a nop that occurs further back, prior to the unreachable blocks. Account for that case now. We should really do something about the smart branch situation, this is very fragile...
* | Merge branch 'PHP-7.2' into PHP-7.3Nikita Popov2019-07-091-8/+4
|\ \ | |/
| * Revert "Fixed bug #76980"Nikita Popov2019-07-091-8/+4
| | | | | | | | | | | | | | | | This reverts commit 35353dc49a73a58c17c7896c4c4c3997ef2c007d. This changes causes issues for Symfony, see https://github.com/symfony/symfony/issues/32395. I'm reverting it from PHP 7.2 and PHP 7.3 and only leaving it in PHP 7.4.
* | Merge branch 'PHP-7.2' into PHP-7.3Nikita Popov2019-06-281-0/+17
|\ \ | |/
| * Fix bugs in AST printersunnyeo2019-06-281-0/+17
| | | | | | | | Closes GH-4324.
* | Merge branch 'PHP-7.2' into PHP-7.3Nikita Popov2019-05-151-4/+8
|\ \ | |/
| * Fixed bug #76980Nikita Popov2019-05-151-4/+8
| | | | | | | | | | | | | | | | If we perform a class fetch that is not marked as exception safe, convert exceptions thrown by autoloaders into a fatal error. Ideally fetching the interfaces would be exception safe, but as it isn't right now, we must abort at this point.
* | Merge branch 'PHP-7.2' into PHP-7.3Christoph M. Becker2019-05-141-1/+1
|\ \ | |/ | | | | | | * PHP-7.2: Fix test case
| * Fix test caseChristoph M. Becker2019-05-141-1/+1
| | | | | | | | | | stderr is supposed to be redirected to NUL (which is roughly equivalent to /dev/null on POSIX), but actually was redirected to a file.
* | Merge branch 'PHP-7.2' into PHP-7.3Nikita Popov2019-05-131-0/+7
|\ \ | |/
| * Fix #77993: Wrong parse error for invalid hex literal on WindowsTheodore Brown2019-05-131-0/+7
| | | | | | | | | | | | | | | | If a PHP file contains an invalid hex literal such as `0x_10`, the expected error is `Parse error: syntax error, unexpected 'x_10' (T_STRING) in %s on line %d`. This already worked correctly on Linux, but on Windows prior to this patch a different error was produced: `Parse error: Invalid numeric literal in %s on line %d`.
* | Merge branch 'PHP-7.2' into PHP-7.3Nikita Popov2019-05-081-0/+17
|\ \ | |/
| * Fix resolution of "parent" during inheritance checkNikita Popov2019-05-081-0/+17
| | | | | | | | | | We can't assume that the method we're checking against is part of the parent class...