#
492621f9 |
| 26-Aug-2020 |
Nikita Popov |
Fix memory leak on unknown named param
|
#
d179e34e |
| 26-Aug-2020 |
Nikita Popov |
Fix memory leak when yielding from non-iterable
|
#
bb54694f |
| 24-Aug-2020 |
Nikita Popov |
Fix refcounting
|
#
6b6c2c00 |
| 24-Aug-2020 |
Christoph M. Becker |
Fix #79979: passing value to by-ref param via CUFA crashes If a by-val send is not allowed, we must not do so. Instead we wrap the value in a temporary reference. Closes GH-6000
|
#
5c18ee58 |
| 24-Aug-2020 |
Dmitry Stogov |
Fixed use-after-free introduced by aed1f785159e7c9e81da8f2e2e06df9a6ee0d809
|
#
aed1f785 |
| 20-Aug-2020 |
Dmitry Stogov |
micro-optimization
|
#
42eda516 |
| 11-Aug-2020 |
Nikita Popov |
SAVE_OPLINE in NULL_HANDLER Let's avoid crashing before the nice error message gets printed...
|
#
f491dabe |
| 11-Aug-2020 |
Nikita Popov |
Fix nullsafe operator on reference Dereference the value before checking the type. As the happy path necessarily has to check for references, I'm not bothering to delay the compariso
Fix nullsafe operator on reference Dereference the value before checking the type. As the happy path necessarily has to check for references, I'm not bothering to delay the comparison.
show more ...
|
#
2d087210 |
| 10-Aug-2020 |
Nikita Popov |
Fixed bug #79947 Move the FREE_OP for op_data out of the zend_binary_assign_op_dim_slow() slow path, so it can be used by the other error path as well. This makes ASSIGN_DIM_OP struc
Fixed bug #79947 Move the FREE_OP for op_data out of the zend_binary_assign_op_dim_slow() slow path, so it can be used by the other error path as well. This makes ASSIGN_DIM_OP structurally more similar to ASSIGN_DIM.
show more ...
|
Revision tags: php-7.4.6, php-7.2.31, php-7.4.6RC1, php-7.3.18RC1, php-7.2.30, php-7.4.5, php-7.3.17 |
|
#
d92229d8 |
| 06-Apr-2020 |
Nikita Popov |
Implement named parameters From an engine perspective, named parameters mainly add three concepts: * The SEND_* opcodes now accept a CONST op2, which is the argument nam
Implement named parameters From an engine perspective, named parameters mainly add three concepts: * The SEND_* opcodes now accept a CONST op2, which is the argument name. For now, it is looked up by linear scan and runtime cached. * This may leave UNDEF arguments on the stack. To avoid having to deal with them in other places, a CHECK_UNDEF_ARGS opcode is used to either replace them with defaults, or error. * For variadic functions, EX(extra_named_params) are collected and need to be freed based on ZEND_CALL_HAS_EXTRA_NAMED_PARAMS. RFC: https://wiki.php.net/rfc/named_params Closes GH-5357.
show more ...
|
#
a6e63b42 |
| 31-Jul-2020 |
Nikita Popov |
Make check in RECV_VARIADIC more precise Fetch arg_info only once (it's always the same one...) and check ZEND_TYPE_IS_SET on it, rather than checking if *any* parameter has a type.
|
#
9bf11983 |
| 24-May-2020 |
Ilija Tovilo |
Implement nullsafe ?-> operator RFC: https://wiki.php.net/rfc/nullsafe_operator Closes GH-5619. Co-authored-by: Nikita Popov <nikita.ppv@gmail.com>
|
#
213852de |
| 13-Jul-2020 |
Nikita Popov |
Fixed bug #79828
|
#
d30cd7d7 |
| 26-May-2020 |
Máté Kocsis |
Review the usage of apostrophes in error messages Closes GH-5590
|
#
65568467 |
| 10-Jul-2020 |
Nikita Popov |
Fixed bug #79818 Only destroy the variable directly before reassigning it. The value could be read in the meantime.
|
#
9fa1d133 |
| 09-Apr-2020 |
Ilija Tovilo |
Implement match expression RFC: https://wiki.php.net/rfc/match_expression_v2 Closes GH-5371.
|
#
613a56d1 |
| 09-Jul-2020 |
Nikita Popov |
Remove FREE_UNFETCHED concept In master normal FREE_OPs work like FREE_UNFETCHED_OP used to, so there is no point in keeping this distinction anymore, it's just confusing.
|
#
8318379d |
| 09-Jul-2020 |
Nikita Popov |
Switch back to FREE_UNFETCHED_OP_DATA Some of the code paths leading to this do not fetch op data. Hopefully this fixes the release build failure.
|
#
5795dfda |
| 09-Jul-2020 |
Nikita Popov |
Fix bug #79599 in a different way Move the emission of the undefined variable notice before the array separation.
|
#
5d0687e8 |
| 07-Jul-2020 |
Nikita Popov |
Assert exception set in HANDLE_EXCEPTION() Some code paths were checking this manually, but we can turn this into a general assertion to avoid surprises (functions returning failure
Assert exception set in HANDLE_EXCEPTION() Some code paths were checking this manually, but we can turn this into a general assertion to avoid surprises (functions returning failure without throwing).
show more ...
|
#
fb916112 |
| 07-Jul-2020 |
Nikita Popov |
Remove #undefs from vm_gen Possibly these were needed for VM_EXPORT, but they don't serve a purpose now.
|
#
49396f81 |
| 04-Jul-2020 |
Nikita Popov |
Fixed bug #79777
|
Revision tags: php-7.4.5RC1, php-7.3.17RC1, php-7.3.18, php-7.4.4, php-7.2.29, php-7.3.16 |
|
#
75a04eac |
| 06-Mar-2020 |
Nikita Popov |
Make exit() unwind properly exit() is now internally implemented by throwing an exception, performing a normal stack unwind and a clean shutdown. This ensures that no persistent reso
Make exit() unwind properly exit() is now internally implemented by throwing an exception, performing a normal stack unwind and a clean shutdown. This ensures that no persistent resource leaks occur. The exception is internal, cannot be caught and does not result in the execution of finally blocks. This may be relaxed in the future. Closes GH-5768.
show more ...
|
#
bb3d4456 |
| 15-Jun-2020 |
Dmitry Stogov |
Change GC_COLLECTABLE flag into GC_NOT_COLLECTABLE to simplify GC_MAY_LEAK() check
|
#
8483a21f |
| 25-May-2020 |
Christoph M. Becker |
Fix several mostly Windows related phpdbg bugs * Properly initialize PHPDBG_G(watch_tmp) Otherwise that may cause segfaults in ZTS builds. * Deactivate potentially remain
Fix several mostly Windows related phpdbg bugs * Properly initialize PHPDBG_G(watch_tmp) Otherwise that may cause segfaults in ZTS builds. * Deactivate potentially remaining watchpoints after REPL Otherwise the memory could still be protected, resulting in segfaults during shutdown. * NULL zend_handlers_table after freeing As of commit 4130fe4[1], the `zend_handlers_table` is explicitly freed in the `zend_vm_dtor()`. Since phpdbg (and maybe some other SAPIs) may restart the engine afterwards, we have to make sure that the table is also NULLed. * Only set context option if there is a context In other words, we must not follow the null pointer. * Cater to file handles without attached console File handles do not necessarily have an attached console (for instance, pipes do not), in which case `GetConsoleScreenBufferInfo()` fails. In this case we set a default value (`40`) for lines like on other systems. [1] <http://git.php.net/?p=php-src.git;a=commit;h=4130fe437a5db7ead1444d3748bd0fbad9829cb2>
show more ...
|