1
0
mirror of https://github.com/php/php-src.git synced 2026-04-24 16:38:25 +02:00
Commit Graph

62850 Commits

Author SHA1 Message Date
Christoph M. Becker 6e0505bf27 Fix GH-9589: dl() segfaults when module is already loaded
As of PHP 8.2.0, `zend_module_entry` structures are no longer copied,
so when a module is permanently loaded, and users try to dynamically
load that module again, the structure is corrupted[1], causing a
segfault on shutdown.

We catch that by checking whether any dynamically loaded module is
already loaded, and bailing out in that case without modifying the
`zend_module_entry` structure.

[1] <https://github.com/php/php-src/issues/9589#issuecomment-1263718701>

Closes GH-9689.
2022-10-10 13:36:57 +02:00
Dmitry Stogov 626e909877 Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Fix GH-9697: array_walk($ffiInstance, function () {}) crashes due to expecting mutable array
2022-10-10 11:25:33 +03:00
Dmitry Stogov fa2c519544 Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  Fix GH-9697: array_walk($ffiInstance, function () {}) crashes due to expecting mutable array
2022-10-10 11:25:23 +03:00
Dmitry Stogov d9651a9419 Fix GH-9697: array_walk($ffiInstance, function () {}) crashes due to expecting mutable array 2022-10-10 11:21:05 +03:00
Ilija Tovilo 182c8acf43 Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Prepare for Windows CI with Github Actions
2022-10-09 18:48:07 +02:00
Ilija Tovilo 296a09549b Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  Prepare for Windows CI with Github Actions
2022-10-09 18:45:29 +02:00
Michael Voříšek b43e49437c Prepare for Windows CI with Github Actions 2022-10-09 18:44:59 +02:00
George Peter Banyard 7d5ce1c483 Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Actually fix GH-9583
2022-10-06 14:31:29 +01:00
George Peter Banyard 09a57d385d Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  Actually fix GH-9583
2022-10-06 14:29:53 +01:00
George Peter Banyard 499fbcd679 Actually fix GH-9583
The issue is that PS(mod)->s_validate_sid is always defined for user modules, thus we need to check that the actual callable is set
Add another regression test to ensure current working behaviour is not broken (which was by the previous incorrect fix)

Closes GH-9638
2022-10-06 14:29:13 +01:00
Tim Düsterhus 59a19d710b Reduce scope of r in rand_rangeXX (#9678)
This variable is only accessed within a single iteration of the expansion loop.
2022-10-06 12:55:51 +02:00
Christoph M. Becker 62d393b1ed Remove support for libmysql-client from mysqli test suite
Since mysqli can no longer be built against libmysql-client, there is
no longer the need to distinguish.

While we're at it, we also drop the superfluous is_object() checks.

Closes GH-9652.
2022-10-06 12:09:14 +02:00
Dmitry Stogov 5cfec7ee40 Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Fix typo
2022-10-05 21:39:46 +03:00
Dmitry Stogov e81b6bf018 Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  Fix typo
2022-10-05 21:39:37 +03:00
Dmitry Stogov 072dc3c857 Fix typo 2022-10-05 21:39:16 +03:00
Alex Dowad 9beb93f2cf Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Restore backwards-compatible mappings of U+005C and U+007E to SJIS-2004
2022-10-05 12:27:32 +09:00
Alex Dowad dd00e2f1e3 Restore backwards-compatible mappings of U+005C and U+007E to SJIS-2004
In 0d0029d729 and 315d48b434, I changed the mappings used for Unicode
to Shift-JIS-2004, in an attempt to follow the JISC specification
more closely. However, feedback from Japanese PHP users indicates
that most users of SJIS-2004 expect 0x5C and 0x7E to be treated as
equivalent to the same ASCII bytes. This is due to a long history of
non-complying implementations which then became a de-facto standard.

Therefore, restore the earlier mappings for U+005C and U+007E.

Thanks to the GitHub user 'youkidearitai' for reporting this issue.

Fixes GH-9528.
2022-10-05 12:18:38 +09:00
Tim Düsterhus 1e9280e035 [ci skip] Trim trailing whitespace in php_random.h 2022-10-03 20:32:37 +02:00
Dmitry Stogov 4164d2d567 Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Fix register allocation (missing store)
2022-10-03 17:09:07 +03:00
Dmitry Stogov 5877b84056 Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  Fix register allocation (missing store)
2022-10-03 17:09:01 +03:00
Dmitry Stogov ed652a514f Fix register allocation (missing store)
This fixes oss-fuzz #52022
2022-10-03 17:08:11 +03:00
Dmitry Stogov ec5882e1c3 Fix GH-9626: JIT type assertion failure in Symfony community build 2022-10-03 14:58:37 +03:00
Dmitry Stogov 3cce4964d1 Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Fix abstract trace consisency for FE_FETCH instruction
2022-10-03 14:51:32 +03:00
Dmitry Stogov da28a6b497 Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  Fix abstract trace consisency for FE_FETCH instruction
2022-10-03 14:51:21 +03:00
Dmitry Stogov 5ca4113386 Fix abstract trace consisency for FE_FETCH instruction 2022-10-03 14:48:03 +03:00
Christoph M. Becker a5003bb4f4 Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  gh9590.phpt requires ext/posix
2022-10-01 14:34:59 +02:00
Christoph M. Becker 48ae3a0e3f gh9590.phpt requires ext/posix 2022-10-01 14:34:24 +02:00
Christoph M. Becker c5f53c4ef4 Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Use --EXTENSIONS-- section for newly added tests
2022-10-01 14:09:26 +02:00
Christoph M. Becker 47c79a97f5 Use --EXTENSIONS-- section for newly added tests
As of PHP 8.1.0, the `--EXTENSIONS-- section is properly supported, and
CIs may make use of that (our AppVeyor CI does).  Thus it is important
to list required extensions there, since otherwise they may not be
loaded, causing the test to be skipped, or worse, to be borked.
2022-10-01 14:08:59 +02:00
Arnaud Le Blanc 246d13cd99 Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  [ci skip] NEWS
  [ci skip] NEWS
  Return immediately when FD_SETSIZE is exceeded (#9602)
2022-10-01 11:24:23 +02:00
Arnaud Le Blanc d4b99542d5 Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  [ci skip] NEWS
  Return immediately when FD_SETSIZE is exceeded (#9602)
2022-10-01 11:23:34 +02:00
Arnaud Le Blanc 80232de0e4 Return immediately when FD_SETSIZE is exceeded (#9602) 2022-10-01 11:20:43 +02:00
Jakub Zelenka d2b7d67dac Merge branch 'PHP-8.1' into PHP-8.2 2022-09-30 17:08:55 +01:00
Jakub Zelenka ee8f2c75e0 Merge branch 'PHP-8.0' into PHP-8.1 2022-09-30 17:08:17 +01:00
Andy Postnikov c58241a003 Make socket path shorter for ext/sockets/tests/socket_cmsg_{rights|credentials}.phpt
When running in CI it fails when path/address is longer 108
2022-09-30 17:07:40 +01:00
David Carlier ed1d41465a Merge branch 'PHP-8.1' into PHP-8.2 2022-09-29 20:40:45 +01:00
David Carlier 2440d29efd Merge branch 'PHP-8.0' into PHP-8.1 2022-09-29 20:40:33 +01:00
David Carlier 257f108924 fix php_init_crypt_r/php_shutdown_crypt_r signatures warning. 2022-09-29 20:40:16 +01:00
Dmitry Stogov efcffc9d5f Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Force exit to VM
2022-09-29 15:28:23 +03:00
Dmitry Stogov aa179bf3dd Force exit to VM 2022-09-29 15:27:38 +03:00
Dmitry Stogov 57a01e3a4a Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Keep original EG(jit_trace_num) value around __autoload()
2022-09-29 15:01:39 +03:00
Dmitry Stogov f7d0a3e0e0 Keep original EG(jit_trace_num) value around __autoload() 2022-09-29 15:00:52 +03:00
Ilija Tovilo a5fdfc4fc0 Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  [skip ci ] Rename matrix-include output on old branches
  Updated to version 2022.4 (2022d)
  Updated to version 2022.4 (2022d)
2022-09-29 13:08:45 +02:00
Derick Rethans 0360e62cae Updated to version 2022.4 (2022d) 2022-09-29 11:52:08 +01:00
Derick Rethans d16b5d3803 Updated to version 2022.4 (2022d) 2022-09-29 11:52:06 +01:00
Christoph M. Becker 3d2d7d1000 Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Revert unintended test expectation change
2022-09-28 12:14:39 +02:00
Christoph M. Becker 9caa71f94f Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  Revert unintended test expectation change
2022-09-28 12:13:39 +02:00
Athos Ribeiro e6a822d437 Revert unintended test expectation change
Commit fbe3059 included an unintended change to the test which checks if
dns_get_record populates its additional parameter. This patch reverts
such change.

The issue was not detected by the CIs because their tests run in
the --offline mode, and the test in question needs internet connection.

Closes GH-9625.
2022-09-28 12:12:21 +02:00
Ilija Tovilo 81bedb0f7d Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Skip some OCI tests with repeat
2022-09-27 23:32:37 +02:00
Ilija Tovilo 93e509fd8c Skip some OCI tests with repeat 2022-09-27 23:32:15 +02:00