summaryrefslogtreecommitdiff
path: root/Zend
Commit message (Collapse)AuthorAgeFilesLines
* Prepare PHP 7.3.8php-7.3.8PHP-7.3.8Christoph M. Becker2019-07-301-1/+1
|
* Convert short tag to standard tag in Zend test fileGeorge Peter Banyard2019-07-161-1/+1
| | | | | | Closes GH-4389. (cherry picked from commit e6c2b288652cf9c8d0b92d2842d73b3eb2431860)
* Prepare PHP 7.3.8RC1php-7.3.8RC1Christoph M. Becker2019-07-161-1/+1
|
* Merge branch 'PHP-7.2' into PHP-7.3Dmitry Stogov2019-07-164-390/+390
|\ | | | | | | | | * PHP-7.2: Fixed incorrect specialization (missed IS_INDIRECT handling)
| * Fixed incorrect specialization (missed IS_INDIRECT handling)Dmitry Stogov2019-07-163-424/+424
| |
* | Fixed bug #78010Nikita Popov2019-07-152-2/+37
| | | | | | | | | | 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-092-29/+11
|\ \ | |/
| * Revert "Fixed bug #76980"Nikita Popov2019-07-092-29/+11
| | | | | | | | | | | | | | | | 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-282-1/+25
|\ \ | |/
| * Fix bugs in AST printersunnyeo2019-06-282-1/+25
| | | | | | | | Closes GH-4324.
* | Next is 7.3.8Christoph M. Becker2019-06-111-1/+1
| |
* | Merge branch 'PHP-7.2' into PHP-7.3Joe Watkins2019-05-291-1/+1
|\ \ | |/ | | | | | | * PHP-7.2: disabled functions must not have return type
| * disabled functions must not have return typeJoe Watkins2019-05-291-1/+1
| |
* | Fix bug #77955Nikita Popov2019-05-231-0/+11
| | | | | | | | | | | | Free metadata before freeing the arena. I don't have a repro script, but the added assertion fails for many existing tests prior to this change.
* | Merge branch 'PHP-7.2' into PHP-7.3Nikita Popov2019-05-152-11/+29
|\ \ | |/
| * Fixed bug #76980Nikita Popov2019-05-152-11/+29
| | | | | | | | | | | | | | | | 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.
* | Prepare 7.3.7-devChristoph M. Becker2019-05-141-1/+1
| |
* | 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-133-221/+230
|\ \ | |/
| * Fix #77993: Wrong parse error for invalid hex literal on WindowsTheodore Brown2019-05-134-4201/+4206
| | | | | | | | | | | | | | | | 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-082-2/+19
|\ \ | |/
| * Fix resolution of "parent" during inheritance checkNikita Popov2019-05-082-2/+19
| | | | | | | | | | We can't assume that the method we're checking against is part of the parent class...
* | Check assert only when RC_DEBUG is enabledDmitry Stogov2019-04-181-1/+15
| |
* | Fix more dl() interned string assertionsNikita Popov2019-04-181-8/+18
| |
* | Fixed dl() function. It failed in DEBUG build without opcache because of ↵Dmitry Stogov2019-04-171-4/+4
| | | | | | | | assert during string interning.
* | Fix HT flags copying wrt iterator countNikita Popov2019-04-162-4/+9
| | | | | | | | | | | | | | | | | | | | | | HT_FLAGS() includes the full flag word, including the iterator count. When we're fully reassigning it, we need to make sure that we either really do want to copy the iterator count (as in some cases in array.c) or we need to mask only the actual flag byte. Add an assert to hash_iterators_del() to make sure the iterator count is non-zero (which is how I ran into this) and make sure that the iterator count is correctly preserved during array splicing.
* | Prepare main branch for PHP 7.3.6Christoph M. Becker2019-04-161-1/+1
| |
* | Fix second part of bug #77903Nikita Popov2019-04-162-0/+25
| | | | | | | | | | | | When a HT iterator is one past the end and we rehash, we need to make sure that it is move to the new one past the end position, to make sure that newly inserted elements are picked up.
* | Partial fix for bug #77903Nikita Popov2019-04-161-47/+13
| | | | | | | | | | | | | | | | | | | | | | In the hash position APIs, make sure we always advance to the next non-undef element and not just when the position is 0 (similar to what foreach does). This can happen when the position of an ArrayIterator is one past its current end and a new element is inserted not directly at that position because the array is packed. There is still a bug here (as shown in the tests), but this is a separate issue that also affects plain array iteration in foreach.
* | Merge branch 'PHP-7.2' into PHP-7.3Nikita Popov2019-04-101-1/+1
|\ \ | |/
| * Fix pgsql use after free trying to reuse closed connectionNikita Popov2019-04-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | When a connection is closed, we also need to remove the hash entry from the regular_list, as it now points to freed memory. To do this store a reverse mapping from the connection to the hash string. It would be nicer to introduce a wrapping structure for the pgsql link resource that could store the hash (and notices), but that would require large changes to the extension, so I'm going for a more minimal fix here.
* | Merge branch 'PHP-7.2' into PHP-7.3Dmitry Stogov2019-04-091-9/+11
|\ \ | |/ | | | | | | * PHP-7.2: Repare SWITCH VM
| * Repare SWITCH VMDmitry Stogov2019-04-091-2/+2
| |
* | Merge branch 'PHP-7.2' into PHP-7.3Nikita Popov2019-04-081-16/+18
|\ \ | |/
| * Fixed bug #77844Nikita Popov2019-04-081-16/+18
| | | | | | | | | | We should probably return an integer result from the operation in typed mode, right now the result is always a string.
* | Prepare main branch for PHP 7.3.5Christoph M. Becker2019-03-191-1/+1
| |
* | Remove x86 bit test optimizationNikita Popov2019-03-181-6/+2
| | | | | | | | | | This is undefined behavior and we cannot rely on it. Additionally it breaks builds using undefined behavior sanitizers.
* | Merge branch 'PHP-7.2' into PHP-7.3Nikita Popov2019-03-183-4/+20
|\ \ | |/
| * Don't disable object slot reuse while running shutdown functionstwosee2019-03-183-4/+20
| | | | | | | | | | | | We only need to do this once we're running destructors. The current approach interferes with some event loop code that runs everything inside a shutdown function.
* | Merge branch 'PHP-7.2' into PHP-7.3Xinchen Hui2019-03-142-2/+10
|\ \ | |/ | | | | | | * PHP-7.2: Fixed bug #77738 (Nullptr deref in zend_compile_expr)
| * Fixed bug #77738 (Nullptr deref in zend_compile_expr)Xinchen Hui2019-03-142-2/+10
| |
* | Fixed bug #77345 (Stack Overflow caused by circular reference in garbage ↵Dmitry Stogov2019-03-073-89/+331
| | | | | | | | collection)
* | Check for NULL GC type in objects_store_delNikita Popov2019-03-012-8/+11
| | | | | | | | | | | | | | | | | | | | | | This might happen if OBJ_RELEASE is used on an object that was already released by GC. Specific cases of this issue were previously fixed in ffaee27478a9cb338e40edeb5acf233f9cb67111 and 72104d2b6ecbbabd18de15f10739be5ce3dc9ce0, however the issue still affects 3rd-party extensions using OBJ_RELEASE. The whole GC type NULL + OBJ_IS_VALID + IS_FREE_CALLED system seems overly complicated and can probably be simplified in 7.4.
* | Merge branch 'PHP-7.2' into PHP-7.3Nikita Popov2019-02-252-12/+54
|\ \ | |/
| * Fix assertion in Exception::getMessage() if $message is a refNikita Popov2019-02-252-12/+54
| | | | | | | | And same for other properties. Encountered in Symfony.
* | Fixed compiler warningXinchen Hui2019-02-251-3/+3
| |
* | Merge branch 'PHP-7.2' into PHP-7.3Xinchen Hui2019-02-252-2/+12
|\ \ | |/ | | | | | | * PHP-7.2: Fixed bug #77660 (Segmentation fault on break 2147483648)
| * Fixed bug #77660 (Segmentation fault on break 2147483648)Xinchen Hui2019-02-252-2/+12
| |