Christoph M. Becker
7908aae30c
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
Fix GH-9296: `ksort` behaves incorrectly on arrays with mixed keys
2022-08-12 11:36:24 +02:00
Denis Vaksman
cd1aed8edd
Fix GH-9296: ksort behaves incorrectly on arrays with mixed keys
...
The comparator function used at ksort in SORT_REGULAR mode
need to be consistent with basic comparison rules. These rules
were changed in PHP-8.0 for numeric strings, but comparator
used at ksort kept the old behaviour. It leads to inconsistent
situations, when after ksort the first key is GREATER than some
of the next ones by according to the basic comparison operators.
Closes GH-9293.
2022-08-12 11:32:23 +02:00
Derick Rethans
3509ca3d65
Merge branch 'PHP-8.0' into PHP-8.1
2022-08-11 16:26:40 +01:00
Derick Rethans
962d8bd0b6
The data for Tehran has changed, update test
2022-08-11 16:26:33 +01:00
Derick Rethans
455c40da50
Updated to version 2022.2 (2022b)
2022-08-11 15:54:30 +01:00
Derick Rethans
c6992121cc
Updated to version 2022.2 (2022b)
2022-08-11 15:54:28 +01:00
Dmitry Stogov
18183ff9c7
Fix order of checks to throw exception with better message
...
This clarifies the "->cdata" meaning.
2022-08-11 09:30:47 +03:00
Jakub Zelenka
c9fa98a174
Merge branch 'PHP-8.0' into PHP-8.1
2022-08-07 14:21:39 +01:00
Jakub Zelenka
d9ff5e079f
Fix GH-8472: stream_socket_accept result may have incorrect metadata
2022-08-07 14:17:38 +01:00
Arnaud Le Blanc
bccda7eb1c
Extended map_ptr before copying class table ( #9188 )
...
Fixes GH-9164
2022-08-01 19:25:07 +02:00
Dmitry Stogov
7ff71a0a55
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
Tracing: Prevent recording types of variables used to pass zend_class_entry
2022-08-01 17:03:56 +03:00
Dmitry Stogov
2758ff2a77
Tracing: Prevent recording types of variables used to pass zend_class_entry
2022-08-01 17:02:53 +03:00
Dmitry Stogov
69c10aed58
Fix incorrect guard motion out of the loop
...
Fixes oss-fuzz #49579
2022-08-01 15:32:49 +03:00
Dmitry Stogov
4b19b85eb6
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
Fix SSA reconstruction when body of "foreach" loop is removed
2022-08-01 14:01:11 +03:00
Dmitry Stogov
af1a7b7b72
Fix SSA reconstruction when body of "foreach" loop is removed
...
Fixes oss-fuzz #49483
2022-08-01 14:00:19 +03:00
Ilija Tovilo
565a416e87
Fix attribute target validation on fake closures
...
Fixes GH-8982
Closes GH-9173
2022-07-29 12:14:44 +02:00
Derick Rethans
a0c01f385c
Add test case for GH-9601: DateInterval 1.5s added to DateTimeInterface is rounded down since PHP 8.1.0
2022-07-28 11:55:35 +01:00
Derick Rethans
a35b3e70c3
Import timelib 2021.16
2022-07-28 11:51:11 +01:00
Derick Rethans
b0d67aa605
Merge remote-tracking branch 'derickr/bug80047-take2' into PHP-8.1
2022-07-28 11:48:30 +01:00
Derick Rethans
001e7dbb04
Fixed bug #80047 (DatePeriod doesn't warn with custom DateTimeImmutable)
2022-07-28 10:28:10 +01:00
Derick Rethans
85f3a969dc
Revert "Fixed #80047 : DatePeriod doesn't warn with custom DateTimeImmutable"
...
This reverts commit 973c3f6e24 .
2022-07-28 10:13:54 +01:00
Christoph M. Becker
ca84d06bbc
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
Fix GH-9032: SQLite3 authorizer crashes on NULL values
2022-07-27 13:06:15 +02:00
Christoph M. Becker
8ed21a89f3
Fix GH-9032: SQLite3 authorizer crashes on NULL values
...
The arguments 3 to 6 of the authorizer callback may be `NULL`[1], and
we have to properly deal with that. Instead of causing a segfault, we
deny authorization, which is still better than a crash, and apparently,
we cannot do better anyway.
[1] <https://www.sqlite.org/c3ref/set_authorizer.html >
Closes GH-9040.
2022-07-27 12:49:16 +02:00
Christoph M. Becker
cf1664e91d
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
Fix GH-9155: dba_open("non-existing", "c-", "flatfile") segfaults
2022-07-27 12:13:32 +02:00
Christoph M. Becker
a442e29485
Fix GH-9155: dba_open("non-existing", "c-", "flatfile") segfaults
...
We must not assume that the lock file has been opened.
Closes GH-9156.
2022-07-27 12:08:36 +02:00
Christoph M. Becker
7d36703a8f
Initialize blacklist_path_length
...
For some reason, GCC warns[1]:
| ‘blacklist_path_length’ may be used uninitialized in this function
| [-Werror=maybe-uninitialized]
This looks like a false positive to me, but it doesn't hurt to
explicitly initialize the variable.
[1] <https://github.com/php/php-src/runs/7502212969?check_suite_focus=true >
Closes GH-9129.
2022-07-25 19:10:42 +02:00
Christoph M. Becker
4834cfea1a
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
Fix GH-9033: Loading blacklist file can fail due to negative length
2022-07-25 16:32:18 +02:00
Christoph M. Becker
35fd97c3c9
Fix GH-9033: Loading blacklist file can fail due to negative length
...
If the blacklist file contains a line with a single double-quote, we
called `zend_strndup(pbuf, -1)` what causes an unnecessary bail out;
instead we just ignore that line.
If the blacklist file contains an empty line, we may have caused an OOB
read; instead we just ignore that line.
Closes GH-9036.
2022-07-25 16:30:19 +02:00
Dmitry Stogov
d50875c822
Fix type inference
...
Fixes oss-fuzz #49423 and #49474
2022-07-25 15:53:06 +03:00
Dmitry Stogov
e70d282077
JIT: Fix missing type stote
...
Fixes oss-fuzz #49402
2022-07-25 15:24:26 +03:00
Dmitry Stogov
cc465ba0bb
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
Fix memory leak
2022-07-25 12:08:00 +03:00
Dmitry Stogov
44b86aee31
Fix memory leak
...
Fixes oss-fuzz #49272
2022-07-25 12:04:46 +03:00
Derick Rethans
0ae9942801
Merge remote-tracking branch 'derickr/timelib-2021-15-sync' into PHP-8.1
2022-07-22 13:07:28 +01:00
Derick Rethans
7831a1cae6
Add test case for GH-8964
2022-07-22 13:06:32 +01:00
Derick Rethans
0d3061d225
Import timelib 2021.15
2022-07-22 13:06:32 +01:00
Ilija Tovilo
5c10aa43c2
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
Fix spl test cleanup
2022-07-21 17:21:18 +02:00
Ilija Tovilo
3962f00b01
Fix spl test cleanup
2022-07-21 17:20:30 +02:00
George Peter Banyard
c7a0439d60
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
Fix memory leak in LMDB driver
2022-07-21 14:08:40 +01:00
George Peter Banyard
5b83b3a933
Fix memory leak in LMDB driver
2022-07-21 14:05:48 +01:00
Derick Rethans
557e02bf9f
Merge timelib 2021.14
2022-07-21 12:11:42 +01:00
Derick Rethans
355995735b
Fixed diff, again
2022-07-21 12:11:42 +01:00
Derick Rethans
37d460b64a
Fixed #81263 : Wrong result from DateTimeImmutable::diff
2022-07-21 12:11:42 +01:00
Derick Rethans
cc9c57722a
Fixed GH-8730: DateTime::diff miscalculation is same time zone of different type
2022-07-21 12:11:42 +01:00
Derick Rethans
eea2283693
Merge timelib 2021.13
2022-07-21 11:42:35 +01:00
Christoph M. Becker
c2bdaa48e1
Fix GH-9008: mb_detect_encoding(): wrong results with null $encodings
...
Passing `null` to `$encodings` is supposed to behave like passing the
result of `mb_detect_order()`. Therefore, we need to remove the non-
encodings from the `elist` in this case as well. Thus, we duplicate
the global `elist`, so we can modify it.
Closes GH-9063.
2022-07-20 16:58:55 +02:00
Christoph M. Becker
32d55f7422
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
Fix GH-9017: php_stream_sock_open_from_socket could return NULL
2022-07-19 17:07:27 +02:00
Heiko Weber
3b7babf9b3
Fix GH-9017: php_stream_sock_open_from_socket could return NULL
...
Closes GH-9020.
2022-07-19 17:06:02 +02:00
Dmitry Stogov
82d3ad64df
Fix type inference
...
Fixes oss-fuzz #48908
2022-07-18 14:20:06 +03:00
Arnaud Le Blanc
f2381ae4ba
Fix JIT crash with large number of match/switch arms ( #8961 )
...
Switch statements may generate a large number of exit points. Once the max
number of exit points is reached, get_exit_addr() returns NULL. This was not
checked, and this resulted in a jump table with some 0 addresses.
2022-07-18 12:34:20 +02:00
Dmitry Stogov
b734d45626
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
Fix type inference for FETCH_DI_UNSET
2022-07-18 13:15:03 +03:00