Sergey Panteleev
70ee6c20ad
Update versions for PHP 8.2.0
2022-12-06 16:43:35 +03:00
Bob Weinand
2d80d988c2
Do not report MINIT stage internal class aliases in extensions
...
Signed-off-by: Bob Weinand <bobwei9@hotmail.com >
2022-11-09 16:37:06 +01:00
Bob Weinand
97236f9d9b
Move observer_declared_function_notify until after pass_two()
...
For early observing, there already exists a op_array_ctor hook on zend_extension.
However the goal of the declared_function observer is noting the time when a fully defined function starts existing in the function_tables.
This also prevents the observer being called in case there were compilation errors.
Ultimately, this now gives a consistent behaviour with respect to how it works when opcache is enabled:
- pass_two is done, opcodes and flags are all finalized.
- similarly class_linked notifications also only happen once the class is actually finalized.
- any extension wanting to delay the observer call may add the ZEND_COMPILE_IGNORE_OBSERVER compiler_option, then call it itself.
2022-11-09 14:20:09 +01:00
Dmitry Stogov
05b63b1593
Don't check "fake" closures (fix assertion)
...
Fixes oss-fuzz #53078
2022-11-07 12:19:54 +03:00
Dmitry Stogov
de4b502fef
Merge branch 'PHP-8.1' into PHP-8.2
...
* PHP-8.1:
Fix memory leak
2022-11-07 11:08:54 +03:00
Dmitry Stogov
f31f464cec
Fix memory leak
...
Fixes oss-fuzz #52999
2022-11-07 11:07:58 +03:00
Arnaud Le Blanc
34a85fbea0
Merge branch 'PHP-8.1' into PHP-8.2
...
* PHP-8.1:
[ci skip] NEWS
[ci skip] NEWS
Fix generator memory leaks when interrupted during argument evaluation (#9756 )
2022-11-04 16:02:04 +01:00
Arnaud Le Blanc
4011657719
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
[ci skip] NEWS
Fix generator memory leaks when interrupted during argument evaluation (#9756 )
2022-11-04 15:59:14 +01:00
Arnaud Le Blanc
5d1f3e047c
Fix generator memory leaks when interrupted during argument evaluation ( #9756 )
2022-11-04 15:55:55 +01:00
Ilija Tovilo
cc9dddea38
Fix fake closure leaking when called from internal func
...
Introduced in 8e49d7f32f .
ZEND_CALL_RELEASE_THIS was previously not handled for internal calls but
just for user calls in the zend_leave_helper.
Closes GH-9884
2022-11-03 14:31:47 +01:00
Martin Schröder
fdd088fc81
Properly deal with internal attributes used on promoted properties.
...
Closes GH-9661
2022-11-03 14:29:22 +01:00
Bob Weinand
8e49d7f32f
Delay releasing closures until after observer end
2022-11-02 16:55:13 +01:00
Bob Weinand
b30448f48f
Fix observing inherited internal functions
...
Fixes GH-9871
2022-11-02 15:33:04 +01:00
Florian Sowade
8dabbda8bc
Don’t reset func in zend_closure_internal_handler
...
The pointer is used in _zend_observe_fcall_begin().
2022-11-02 11:46:43 +01:00
Dmitry Stogov
482ae71fda
Fix memory leak
2022-10-31 12:20:28 +03:00
Ilija Tovilo
1d6b32f65c
Remove unnecessary ast eval bailout
...
We can just reset the filename_override to NULL in php_request_shutdown.
Closes GH-9805
2022-10-27 10:54:59 +02:00
Florian Sowade
b9474bf385
Don’t report arginfo violations on fake closures ( #9823 )
2022-10-26 12:21:41 +02:00
George Peter Banyard
cb3adf351d
Fix OpCache build after 0b0259a418
...
The intersection type needs to be marked as being allocated on the arena otherwise zend_persist_type() tries to free it and corrupts the Zend MM Heap
Also we only need to allocate the space for a list of size 1 and not the whole length of the intersection type
2022-10-24 15:17:26 +01:00
George Peter Banyard
8c2df899d0
Revert 01eb06a0de
...
We do not need this shim anymore since it is converted to a proper DNF type at compile time
2022-10-24 11:41:42 +01:00
George Peter Banyard
0b0259a418
Convert Implicitly nullable pure intersection types to DNF
...
If we don't then Reflection would give us a ReflectionIntersectionType even if the type is currently displayed as (X&Y)|null
2022-10-24 11:39:54 +01:00
David Carlier
dbedb69f6a
Merge branch 'PHP-8.1' into PHP-8.2
2022-10-23 00:46:46 +01:00
David Carlier
fe06c5ef60
Merge branch 'PHP-8.0' into PHP-8.1
2022-10-23 00:46:25 +01:00
Adam Saponara
45e224cf51
Fix GH-9709: Guard against current_execute_data==NULL in is_handle_exception_set
2022-10-23 00:46:05 +01:00
Arnaud Le Blanc
cfd5fb98e4
Merge branch 'PHP-8.1' into PHP-8.2
...
* PHP-8.1:
[ci skip] NEWS
[ci skip] NEWS
Fix compilation warning
Fix crash when memory limit is exceeded during generator initialization
2022-10-22 10:44:55 +02:00
Arnaud Le Blanc
ebe58459aa
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
[ci skip] NEWS
Fix compilation warning
Fix crash when memory limit is exceeded during generator initialization
2022-10-22 10:44:06 +02:00
Arnaud Le Blanc
26c7c82d32
Fix crash when memory limit is exceeded during generator initialization
2022-10-22 10:40:28 +02:00
Dmitry Stogov
eecbb60db6
Fix memory leak
...
Fixes oss-fuzz #52479
2022-10-17 15:08:21 +03:00
Arnaud Le Blanc
a1295cbfce
Merge branch 'PHP-8.1' into PHP-8.2
...
* PHP-8.1:
[ci skip] NEWS
[ci skip] NEWS
Restore extra_named_params when restoring frozen call stack
2022-10-16 12:45:41 +02:00
Arnaud Le Blanc
2831e0c624
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
[ci skip] NEWS
Restore extra_named_params when restoring frozen call stack
2022-10-16 12:43:34 +02:00
Arnaud Le Blanc
86e1fea39a
Restore extra_named_params when restoring frozen call stack
2022-10-16 12:40:09 +02:00
Ben Ramsey
865161af33
PHP-8.1 is now for PHP 8.1.13-dev
2022-10-11 19:47:00 -04:00
George Peter Banyard
01eb06a0de
Follow-up fix for GH-9655
...
Type needs to be rendered as a DNF type and not X&Y|null
2022-10-04 14:24:51 +01:00
HypeMC
279ffdb598
Fix GH-9655: Allow pure intersection types to be implicitly nullable
...
Closes GH-9659
2022-10-03 11:02:52 +01:00
George Peter Banyard
c801076d8b
Fix GH-9556 "iterable" alias "array|Traversable" breaks PHP 8.1 code
...
Closes GH-9558
2022-09-30 12:49:15 +01:00
George Peter Banyard
74ae498a4b
Move object/class redundancy check into union type handling
...
As such a redundancy can only happen for union types
2022-09-30 12:48:56 +01:00
George Peter Banyard
0d19ae4068
Add support for binary and octal number prefixes for INI settings
...
Closes GH-9560
2022-09-30 11:56:39 +01:00
Dmitry Stogov
94b8c2da9f
Fixed type inference
...
Fixes oss-fuzz #51640
2022-09-26 12:19:12 +03:00
Dmitry Stogov
c083efb779
Fix memory leak
...
Fixes oss-fuzz #51622
2022-09-26 12:02:03 +03:00
Dmitry Stogov
5ad8b3bcfa
Merge branch 'PHP-8.1' into PHP-8.2
...
* PHP-8.1:
Fix memory leak
2022-09-26 11:47:32 +03:00
Dmitry Stogov
b20568d4fa
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
Fix memory leak
2022-09-26 11:44:38 +03:00
Dmitry Stogov
8258b7731b
Fix memory leak
...
Fixes oss-fuzz #51622
2022-09-26 11:43:38 +03:00
Patrick Allaert
18cd80c327
Fixed undefined macros warnings
2022-09-22 13:17:02 +02:00
Dmitry Stogov
7496a400aa
Fix SSA construction and type inference
...
Fixes oss-fuzz #51476
2022-09-19 15:45:34 +03:00
Dmitry Stogov
33918f999d
Fixed warning
2022-09-19 13:12:49 +03:00
Dmitry Stogov
c0d49b7c7d
Merge branch 'PHP-8.1' into PHP-8.2
...
* PHP-8.1:
Fix memory leak
2022-09-19 13:04:09 +03:00
Dmitry Stogov
8a1f7fa721
Fix memory leak
...
Fixes oss-fuzz #51451
2022-09-19 13:03:24 +03:00
Ilija Tovilo
fe0eaf107a
Fix UB pointer arithmetics on NULL
...
Closes GH-9559
2022-09-16 18:24:39 +02:00
Ilija Tovilo
7e860eaef0
Don't throw CompileError after parsing
...
Aborting parsing is not safe, a fatal error is necessary.
See b9f7123c5e
2022-09-14 23:05:41 +02:00
Bob Weinand
5a0b68bed7
Revert "Store default object handlers alongside the class entry"
...
This reverts commit 9e6eab3c13 .
Reverted along a01dd9feda .
2022-09-14 11:18:14 +02:00
Bob Weinand
a01dd9feda
Revert "Port all internally used classes to use default_object_handlers"
...
This reverts commit 94ee4f9834 .
The commit was a bit too late to be included in PHP 8.2 RC1. Given it's a massive ABI break, we decide to postpone the change to PHP 8.3.
2022-09-14 11:13:23 +02:00