1
0
mirror of https://github.com/php/php-src.git synced 2026-04-21 15:08:16 +02:00
Commit Graph

127486 Commits

Author SHA1 Message Date
Nikita Popov 55a4bae546 Merge branch 'PHP-8.1'
* PHP-8.1:
  Handle holes in zend_get_opcode_id()
2021-12-30 16:56:10 +01:00
Nikita Popov b63e4cf727 Handle holes in zend_get_opcode_id()
Some opcodes may currently not be allocated.
2021-12-30 16:56:03 +01:00
Kamil Tekiela a0be3f8b27 Merge branch 'PHP-8.1'
* PHP-8.1:
  Fix bug GH-7746 (mysqli_sql_exception->sqlstate is inaccessible)
2021-12-30 14:23:44 +00:00
Kamil Tekiela 8869bbe0e9 Fix bug GH-7746 (mysqli_sql_exception->sqlstate is inaccessible)
Closes GH-7747
2021-12-30 14:23:06 +00:00
Kamil Tekiela 50c7512f52 mysqli_result::__construct should throw exceptions (#7855) 2021-12-30 14:08:12 +00:00
Chun-Sheng, Li f2b50156bc Add some more test cases for BCMath
Closes GH-7851.
2021-12-30 13:02:56 +01:00
Nikita Popov 0698bf794f Add helper for convertion to CHECK_VAR/FREE/NOP
This is a recurring pattern whenever an instruction with an
operand is deleted.
2021-12-30 12:44:57 +01:00
Nikita Popov 7d2f2a1005 Remove an incorrect JMPZNZ optimization
This is already skipped for TMP/VAR, but also needs to be skipped
for CV, because we need to insert CHECK_VAR in that case, if we're
being pedantic. That leaves us with CONST as the only case
we can handle, which is already covered by constant folding.

This optimization never actually triggers in our tests, so it's
not a big loss.
2021-12-30 12:06:19 +01:00
Máté Kocsis a0ba10436c Merge branch 'PHP-8.1'
* PHP-8.1:
  Remove bogus type of $object param in SplObjectStorage::offsetSet()
2021-12-28 18:03:22 +01:00
Máté Kocsis 24be11f632 Remove bogus type of $object param in SplObjectStorage::offsetSet()
This parameter definitely only accepts objects, so we shouldn't explicitly
mark it as mixed. Looks like I accidentally added this type when adding
the tentative return type.

Closes GH-7840
2021-12-28 18:01:26 +01:00
Tyson Andre 85af420f79 [skip ci] Update documentation of supported php versions (#7822)
https://www.php.net/supported-versions.php

Co-authored-by: Christoph M. Becker <cmbecker69@gmx.de>
2021-12-28 11:35:45 -05:00
Dmitry Stogov 9362d6f5f0 Merge branch 'PHP-8.1'
* PHP-8.1:
  iSeparate tests
  JIT: Fix array clobbering by user error handler
2021-12-28 17:00:55 +03:00
Dmitry Stogov c69b9426ff Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  iSeparate tests
  JIT: Fix array clobbering by user error handler
2021-12-28 17:00:40 +03:00
Dmitry Stogov 206bcff50d iSeparate tests 2021-12-28 16:56:23 +03:00
Dmitry Stogov fd879e6fe4 JIT: Fix array clobbering by user error handler
Gixes oss-fuzz #43055
2021-12-28 16:51:03 +03:00
Christoph M. Becker 8147fec372 Merge branch 'PHP-8.1'
* PHP-8.1:
  Fix buffer allocations in zlog_stream_set_msg_suffix()
2021-12-28 13:29:42 +01:00
Christoph M. Becker 5d4bef0d0c Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  Fix buffer allocations in zlog_stream_set_msg_suffix()
2021-12-28 13:28:55 +01:00
David Carlier cb3d858745 Fix buffer allocations in zlog_stream_set_msg_suffix()
If that code was used, there would be a UAF scenario.

Closes GH-7835.
2021-12-28 13:27:54 +01:00
Dmitry Stogov 3319f17650 Merge branch 'PHP-8.1'
* PHP-8.1:
  Fix reference contig inference
2021-12-28 10:02:48 +03:00
Dmitry Stogov 8862e23098 Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  Fix reference contig inference
2021-12-28 10:00:14 +03:00
Dmitry Stogov de358f856f Fix reference contig inference
Fixes oss-fuzz #43032
2021-12-28 09:57:03 +03:00
Christoph M. Becker 693c8804c5 [ci skip] Merge branch 'PHP-8.1'
* PHP-8.1:
  Don't truncate subsecond precision in run-tests.php JUNIT output
2021-12-27 22:31:20 +01:00
Christoph M. Becker b36f25ad10 [ci skip] Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  Don't truncate subsecond precision in run-tests.php JUNIT output
2021-12-27 22:30:53 +01:00
Christoph M. Becker 87d9e02f01 Don't truncate subsecond precision in run-tests.php JUNIT output
When run-tests.php has been typed[1], the type of `$time` has been
chosen to be `int`.  This, however, leads to truncation, and the
somewhat relevant subsecond precision is lost.  We fix that by
changing the type to `float`, although `int|string` would be more
appropriate, but requires PHP ≥ 7.4.0.  Another option would be to
move the `number_format()` formatting into `junit_mark_test_as()`.

[1] <https://github.com/php/php-src/commit/11274f53e7fb9d669d74c23aa7883f5f04d92094>

Closes GH-7836.
2021-12-27 22:15:33 +01:00
Dmitry Stogov eb43f8a4f8 Eliminate more VERIFY_RETURN_TYPE instructions 2021-12-27 23:40:21 +03:00
Christoph M. Becker 1d4482908b Merge branch 'PHP-8.1'
* PHP-8.1:
  Revert "Fix zend_observer_fcall_end_all() accessing dangling pointers"
2021-12-27 21:11:24 +01:00
Christoph M. Becker d58c48d45d Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  Revert "Fix zend_observer_fcall_end_all() accessing dangling pointers"
2021-12-27 21:10:40 +01:00
Christoph M. Becker ee610947ce Revert "Fix zend_observer_fcall_end_all() accessing dangling pointers"
This reverts commit 76e2a8380e.  Cf.
<https://github.com/php/php-src/commit/76e2a8380e5e030412e9d565955d011972af8418#r62560239>.
2021-12-27 21:08:51 +01:00
Christoph M. Becker a72a011054 Merge branch 'PHP-8.1'
* PHP-8.1:
  Fix zend_observer_fcall_end_all() accessing dangling pointers
2021-12-27 18:21:37 +01:00
Christoph M. Becker d4c07df4df Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  Fix zend_observer_fcall_end_all() accessing dangling pointers
2021-12-27 18:20:48 +01:00
Florian Sowade 76e2a8380e Fix zend_observer_fcall_end_all() accessing dangling pointers
This may happen, when the execute_data was allocated on the stack.  We
ensure that the runtime cache pointer is not NULL before dereferencing
it.

This is a partial fix for bug 81430.

Closes GH-7665.
2021-12-27 18:19:13 +01:00
Christoph M. Becker 71b55d7dd8 [ci skip] supportedOs Id for Windows 10 and 11 are the same
Cf. <https://docs.microsoft.com/en-us/windows/win32/sysinfo/targeting-your-application-at-windows-8-1>.
2021-12-27 15:18:47 +01:00
Christoph M. Becker 383bdbce64 Merge branch 'PHP-8.1'
* PHP-8.1:
  Fix GH-7815: php_uname doesn't recognise latest Windows versions
2021-12-27 15:09:02 +01:00
David Warner f82593d597 Fix GH-7815: php_uname doesn't recognise latest Windows versions
We check `dwBuildNumber` to determine newer Windows versions.

Closes GH-7816.
2021-12-27 15:08:11 +01:00
Dmitry Stogov a066b809de Skip abstract methods 2021-12-27 15:28:46 +03:00
Dmitry Stogov 2759e6bc69 Fixed assertion when check "instanceof" on unlinked class 2021-12-27 12:02:13 +03:00
Christoph M. Becker 124ac49325 [ci skip] Merge branch 'PHP-8.1'
* PHP-8.1:
  Fix bug40228*.phpt conflict
2021-12-26 23:28:59 +01:00
Christoph M. Becker 187e011710 [ci skip] Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  Fix bug40228*.phpt conflict
2021-12-26 23:28:29 +01:00
Christoph M. Becker 7f0a1e2f2d Fix bug40228*.phpt conflict
Both tests use the same directory structure; we avoid that by
extracting to separate subdirectories.

Closes GH-7831.
2021-12-26 23:23:56 +01:00
Christoph M. Becker 5a3b0da19d Merge branch 'PHP-8.1'
* PHP-8.1:
  Mark curl tests using http2.golang.org as XFAIL
2021-12-26 22:30:16 +01:00
Christoph M. Becker 710dc03399 Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  Mark curl tests using http2.golang.org as XFAIL
2021-12-26 22:29:17 +01:00
Christoph M. Becker 5005445994 Mark curl tests using http2.golang.org as XFAIL
http2.golang.org/serverpush has been retired[1], so we need to come up
with an alternative.  Until then, we mark the relevant tests as XFAIL
(although bug77535.phpt passes, what might be an indication that the
test needs further revision).  To avoid waiting for the timeout, we
also unconditionally skip these tests for now.

[1] <https://github.com/golang/go/issues/49301>

Closes GH-7829.
2021-12-26 22:27:15 +01:00
Alex Dowad 53ffba967c Implement fast text conversion interface for CP5022{0,1,2} 2021-12-26 22:19:51 +02:00
Alex Dowad 01afd9f141 Implement fast text conversion interface for JIS 2021-12-26 22:19:51 +02:00
Alex Dowad cb4626c5b2 Implement fast text conversion interface for GB18030 2021-12-26 22:19:51 +02:00
Alex Dowad 3e8088dc80 Implement fast text conversion interface for EUC-JP-MS 2021-12-26 22:19:51 +02:00
Alex Dowad e5af94b74f Implement fast text conversion interface for CP51932 2021-12-26 22:19:51 +02:00
Alex Dowad 6ef1b35223 Implement fast text conversion interface for EUC-CN 2021-12-26 22:19:51 +02:00
Alex Dowad 9bd08a97d9 Implement fast text conversion interface for EUC-TW 2021-12-26 22:19:51 +02:00
Alex Dowad 661a10160b Implement fast text conversion interface for CP936 2021-12-26 22:19:51 +02:00