Ilija Tovilo
3148da8ee1
Add block size support for tracked_malloc ( #11856 )
...
This does still deviate from USE_ZEND_ALLOC=0 in that we're not rounding up the
size of the allocation to fixed sizes. Doing so would suppress some
out-of-bounds errors checked by ASAN. Rounding up the size in
_zend_mm_block_size would not be good either as it would break code like
memset(ptr, 0 _zend_mm_block_size(ptr)).
2023-08-03 10:08:41 +02:00
Ilija Tovilo
ae431bbfeb
Merge branch 'PHP-8.2'
...
* PHP-8.2:
Fix use-of-uninitialized-value in start_fake_frame
2023-08-03 09:50:32 +02:00
Ilija Tovilo
4db025bd86
Merge branch 'PHP-8.1' into PHP-8.2
...
* PHP-8.1:
Fix use-of-uninitialized-value in start_fake_frame
2023-08-03 09:50:20 +02:00
Ilija Tovilo
ed27d70d9a
Fix use-of-uninitialized-value in start_fake_frame
...
Closes GH-11732
2023-08-03 09:49:51 +02:00
George Peter Banyard
fc3df283fb
Zend: Fix memory leak in ++/-- when overloading fetch access
...
Closes GH-11859
2023-08-02 18:47:08 +01:00
George Peter Banyard
2fbec0974f
Fix OSS Fuzz #60734 : use-after-free visible in ASAN build
2023-08-01 16:40:25 +01:00
George Peter Banyard
6ae9cf40d1
Fix OSS-fuzz #60709 unseting op via globals
...
It turns out not just NULL is affected nor -- but also on booleans and this also affects properties
2023-08-01 16:40:25 +01:00
Dmitry Stogov
a95316fc79
Merge branch 'PHP-8.2'
...
* PHP-8.2:
Fixed incorrect tracked malloc deallocation
2023-08-01 16:02:08 +03:00
Dmitry Stogov
5abf4f232e
Merge branch 'PHP-8.1' into PHP-8.2
...
* PHP-8.1:
Fixed incorrect tracked malloc deallocation
2023-08-01 16:01:57 +03:00
Dmitry Stogov
4553258df3
Fixed incorrect tracked malloc deallocation
...
Fixes ext/ffi/tests/list.phpt failure
2023-08-01 16:01:11 +03:00
Dmitry Stogov
79a8cf1b96
Merge branch 'PHP-8.2'
...
* PHP-8.2:
Fixed incorrect QM_ASSIGN elimination
2023-07-31 14:51:14 +03:00
Dmitry Stogov
91dc3e15e9
Merge branch 'PHP-8.1' into PHP-8.2
...
* PHP-8.1:
Fixed incorrect QM_ASSIGN elimination
2023-07-31 14:51:06 +03:00
Dmitry Stogov
b5f8a7270a
Fixed incorrect QM_ASSIGN elimination
...
Fixes OSS Fuzz #60895
2023-07-31 14:50:13 +03:00
Ilija Tovilo
4182813ebf
Call cast_object handler from get_properties_for
...
Fixes GH-11547
Closes GH-11583
2023-07-25 17:59:44 +02:00
Ilija Tovilo
127ad70782
Fix open_basedir leak
...
Fixes oss-fuzz #60741
Closes GH-11780
2023-07-25 17:54:14 +02:00
Dmitry Stogov
869ecf5320
Merge branch 'PHP-8.2'
...
* PHP-8.2:
Fixed incorrect QM_ASSIGN elimination
2023-07-24 15:45:28 +03:00
Dmitry Stogov
d6a795b935
Merge branch 'PHP-8.1' into PHP-8.2
...
* PHP-8.1:
Fixed incorrect QM_ASSIGN elimination
2023-07-24 15:43:21 +03:00
Dmitry Stogov
9fc0eab4b4
Fixed incorrect QM_ASSIGN elimination
...
Fixes OSS Fuzz #60735
2023-07-24 15:42:30 +03:00
David CARLIER
2778b5d25f
zend vm savee registers support for riscv 64. ( #11773 )
...
x8 being already reserved, we can only pull x18 to x27.
2023-07-24 08:25:45 +01:00
David CARLIER
6602ddead5
zend call stack fix freebsd code path. ( #11766 )
...
The typo in HAVE_PTHREAD_ATTR_GET_STACK (might be due to pthread_attr_get_np being different from Linux's pthread_getattr_np) led to this code path never get called on FreeBSD.
2023-07-23 18:55:14 +01:00
Peter Kokot
9911ab7142
Remove unused ZEND_STACK_GROWS_DOWNWARDS constant ( #11762 )
2023-07-22 19:39:42 +02:00
Niels Dossche
d58e3c05c9
Merge branch 'PHP-8.2'
...
* PHP-8.2:
Fix GH-11716: cli server crashes on SIGINT when compiled with ZEND_RC_DEBUG=1
2023-07-21 15:31:33 +02:00
Niels Dossche
272dc9a09c
Merge branch 'PHP-8.1' into PHP-8.2
...
* PHP-8.1:
Fix GH-11716: cli server crashes on SIGINT when compiled with ZEND_RC_DEBUG=1
2023-07-21 15:31:20 +02:00
Niels Dossche
af77d3b8da
Fix GH-11716: cli server crashes on SIGINT when compiled with ZEND_RC_DEBUG=1
...
Closes GH-11757.
2023-07-21 15:23:56 +02:00
Peter Kokot
b132b7ab7e
Remove check for time.h and HAVE_TIME_H ( #11726 )
...
The `<time.h>` header file is part of the standard C89 headers [1] and
on current systems can be included unconditionally.
The conditional include based on Windows is there so the win32/time.h
can be included on other places when needed.
Refs:
[1] https://port70.net/~nsz/c/c89/c89-draft.html#4.1.2
[2] https://git.savannah.gnu.org/cgit/autoconf.git/tree/lib/autoconf/headers.m4
2023-07-20 09:38:53 +02:00
Ilija Tovilo
b0037eda26
Merge branch 'PHP-8.2'
...
* PHP-8.2:
Fix use-after-free when unregistering user stream wrapper from itself
2023-07-19 11:20:18 +02:00
Ilija Tovilo
c3ccc363c6
Fix use-after-free when unregistering user stream wrapper from itself
...
Fixes GH-11735
Closes GH-11737
2023-07-19 11:17:57 +02:00
Ben Ramsey
6e3c520f51
PHP-8.1 is now for PHP-8.1.23-dev
2023-07-18 16:30:49 -05:00
Máté Kocsis
c322da0606
Fix misleading pass by reference error message ( #10639 )
2023-07-18 15:02:38 +02:00
Ilija Tovilo
9bcdf219ec
Resolve open_basedir paths on ini update
...
Closes GH-10987
2023-07-18 14:43:40 +02:00
Sergey Panteleev
796a75f967
PHP-8.2 is now for PHP 8.2.10-dev
2023-07-18 14:02:43 +03:00
Máté Kocsis
d9a7f6741e
Deprecate ReflectionProperty::setValue() with an incorrect 1st arg type
2023-07-18 12:59:21 +02:00
Máté Kocsis
1126232053
Deprecate calling get_class() and get_parent_class() without arguments
2023-07-18 12:59:21 +02:00
Ilija Tovilo
1057cce1c0
Always memoize calls in lhs of coalesce assignment
...
We don't want to invoke calls twice, even if they are considered "variables",
i.e. might be writable if returning a reference. Function calls behave the same
in all BP contexts so they don't need to be invoked twice. The singular
exception to this is nullsafe coalesce in isset/empty, because it needs to
return false/true respectively when short-circuited. However, since nullsafe
calls are not allwed in write context we may ignore this problem.
Closes GH-11592
2023-07-18 12:48:00 +02:00
Gabriel Fontes
cd9dba81c7
small fixes
2023-07-18 08:31:02 +01:00
Ilija Tovilo
a48b977d3f
Use :- as ini interpolation fallback separator
2023-07-18 08:31:02 +01:00
Gabriel Fontes
bc8b9aedf6
Add fallback value syntax for ini variables
2023-07-18 08:31:02 +01:00
Ilija Tovilo
0b0cec5b8a
Fix clang warning
...
has_range_constraint should can be a bool, remove unused visited field.
Closes GH-11729
2023-07-18 00:49:13 +02:00
Ilija Tovilo
1a0ef2c1cc
Revert "Remove name field from the zend_constant struct ( #10954 )"
...
This reverts commit f42992f580
.
Closes GH-11604
2023-07-17 22:32:41 +02:00
George Peter Banyard
d8696f9216
[RFC] Path to Saner Increment/Decrement operators ( #10358 )
...
* Add behavioural tests for incdec operators
* Add support to ++/-- for objects castable to _IS_NUMBER
* Add str_increment() function
* Add str_decrement() function
RFC: https://wiki.php.net/rfc/saner-inc-dec-operators
Co-authored-by: Ilija Tovilo <ilija.tovilo@me.com>
Co-authored-by: Arnaud Le Blanc <arnaud.lb@gmail.com>
2023-07-17 15:51:24 +01:00
Ilija Tovilo
1c76da62db
Fix gc_status type info
...
Closes GH-11722
2023-07-17 13:49:23 +02:00
George Peter Banyard
3e2dbbf9c2
Add support for deprecating class constants
2023-07-17 05:01:13 +01:00
Arnaud Le Blanc
cbf67e4fee
Remove WeakMap entries whose key is only reachable through the entry value ( #10932 )
2023-07-16 13:39:08 +02:00
Arnaud Le Blanc
d0731934b7
Expose time spent collecting cycles in gc_status() ( #11523 )
2023-07-16 12:34:28 +02:00
George Peter Banyard
3d4ff5ae22
RFC: Deprecate remains of string evaluated code assertions ( #11671 )
...
Link: https://wiki.php.net/rfc/assert-string-eval-cleanup
2023-07-13 15:45:32 +01:00
David CARLIER
a077c2dd6c
Merge branch 'PHP-8.2'
2023-07-13 12:40:59 +01:00
David CARLIER
0309800b4d
Merge branch 'PHP-8.1' into PHP-8.2
2023-07-13 12:40:47 +01:00
David Carlier
69b4360e88
zend_gdb disable gdb detection for FreeBSD < 11.
...
ref PR: https://github.com/php/php-src/pull/11599 .
Close GH-11646
2023-07-13 12:39:58 +01:00
Ilija Tovilo
d9db446065
Fix iface const visibility variance check
2023-07-13 10:52:58 +02:00
Ilija Tovilo
7343ae5d3c
Fix missing iface class const inheritance type check
2023-07-13 10:40:19 +02:00