1
0
mirror of https://github.com/php/php-src.git synced 2026-04-10 09:33:06 +02:00
Commit Graph

129880 Commits

Author SHA1 Message Date
Sergey Panteleev
e02aeaf0b0 Update versions for PHP 8.2.0RC4 php-8.2.0RC4 2022-10-11 10:45:57 +03:00
Bob Weinand
9be00e3935 Ensure driver specific PDO methods have a proper run_time_cache 2022-10-11 00:53:19 +02:00
Christoph M. Becker
da9db14d6b [ci skip] Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  [ci skip] Add missing NEWS entry
2022-10-10 14:01:32 +02:00
Christoph M. Becker
20680b885b [ci skip] Add missing NEWS entry 2022-10-10 14:00:41 +02:00
Alex Dowad
a116aaebd9 Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Add regression test for problem with mb_encode_mimeheader reported as GH-9683
  In legacy text conversion filters, reset filter state in 'flush' function
2022-10-10 20:48:10 +09:00
Alex Dowad
faa5425b0f Add regression test for problem with mb_encode_mimeheader reported as GH-9683 2022-10-10 20:46:12 +09:00
Alex Dowad
5812b4fe54 In legacy text conversion filters, reset filter state in 'flush' function
Up until now, I believed that mbstring had been designed such
that (legacy) text conversion filter objects should not be
re-used after the 'flush' function is called to complete a
text conversion operation.

However, it turns out that the implementation of
_php_mb_encoding_handler_ex DID re-use filter objects
after flush. That means that functions which were based on
_php_mb_encoding_handler_ex, including mb_parse_str and
php_mb_post_handler, would break in some cases; state left
over from converting one substring (perhaps a variable name)
would affect the results of converting another substring
(perhaps the value of the same variable), and could cause
extraneous characters to get inserted into the output.

All this code should be deleted soon, but fixing it helps me
to avoid spurious failures when fuzzing the new/old code to
look for differences in behavior.

(This bug fix commit was originally applied to PHP-8.2 when fuzzing
the new mbstring text conversion code to check for differences with
the old code. Later, Kentaro Ohkouchi kindly reported a problem with
mb_encode_mimeheader under PHP 8.1 which was caused by the same issue.
Hence, this commit was backported to PHP-8.1.)

Fixes GH-9683.
2022-10-10 20:46:12 +09:00
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
David Carlier
8e146c8806 Merge branch 'PHP-8.1' into PHP-8.2 2022-10-10 12:31:57 +01:00
David Carlier
be53e5e5bb Fix GH-9566: disable assembly for Fiber on FreeBSD i386.
preparing in case there is more architectures especially the not tested.
2022-10-10 12:31:38 +01:00
Ilija Tovilo
2dfb537ba5 Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Increase job timeout for ASAN/UBSAN build
2022-10-10 11:37:11 +02:00
Ilija Tovilo
0430e765ea Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  Increase job timeout for ASAN/UBSAN build
2022-10-10 11:36:54 +02:00
Ilija Tovilo
2c8f2e9349 Increase job timeout for ASAN/UBSAN build 2022-10-10 11:35:51 +02:00
Máté Kocsis
69ef3247fd Generate constant declarations with the CONST_CS flag for PHP 7.x 2022-10-10 11:12:20 +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
Christoph M. Becker
22db5aa576 [ci skip] Fix contributor name in NEWS
Cf. <https://github.com/php/php-src/pull/8114#issuecomment-1264042280>.
2022-10-07 16:40:26 +02:00
Ilija Tovilo
605da2c144 Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Add empty default params to nightly linux matrix
2022-10-06 17:52:56 +02:00
Ilija Tovilo
599c2bdbd1 Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  Add empty default params to nightly linux matrix
2022-10-06 17:52:39 +02:00
Ilija Tovilo
26499f53fb Add empty default params to nightly linux matrix
https://docs.github.com/en/actions/using-jobs/using-a-matrix-for-your-jobs#expanding-or-adding-matrix-configurations

> For each object in the include list, the key:value pairs in the object will be
> added to each of the matrix combinations if none of the key:value pairs
> overwrite any of the original matrix values.

Hopefully this change can avoid that.
2022-10-06 17:50:46 +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
Benoit Viguier
58fc34ffb7 Fix memory-leak in CLI web server
Closes GH-9680

Signed-off-by: George Peter Banyard <girgias@php.net>
2022-10-06 11:36:08 +01: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
Ilija Tovilo
fe9e857cea Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  [skip ci] Fix config param for variation build
2022-10-05 22:15:23 +02:00
Ilija Tovilo
e9a8892136 [skip ci] Fix config param for variation build 2022-10-05 22:14:42 +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
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
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
HypeMC
279ffdb598 Fix GH-9655: Allow pure intersection types to be implicitly nullable
Closes GH-9659
2022-10-03 11:02:52 +01: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