1
0
mirror of https://github.com/php/php-src.git synced 2026-04-22 23:48:14 +02:00
Commit Graph

129914 Commits

Author SHA1 Message Date
Dmitry Stogov eecbb60db6 Fix memory leak
Fixes oss-fuzz #52479
2022-10-17 15:08:21 +03:00
Dmitry Stogov d282345e11 Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Reset JIT for dynamic functions on opcache restrart
2022-10-17 11:27:12 +03:00
Dmitry Stogov 61e563ca40 Reset JIT for dynamic functions on opcache restrart 2022-10-17 11:26:30 +03:00
Dmitry Stogov 5e10aa4e5f Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Discard disasm symbols on opcache restart
2022-10-17 11:24:08 +03:00
Dmitry Stogov 3e076ddf06 Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  Discard disasm symbols on opcache restart
2022-10-17 11:24:00 +03:00
Dmitry Stogov cefb228e15 Discard disasm symbols on opcache restart 2022-10-17 11:22:59 +03:00
Tim Düsterhus e8f2fe6745 Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Update to actions/checkout@v3 (PHP-8.1)
2022-10-16 15:36:30 +02:00
Tim Düsterhus 8cd1b837c1 Update to actions/checkout@v3 (PHP-8.1)
see 629fcb6a0f
2022-10-16 15:35:57 +02:00
Tim Düsterhus 0bde7c513b Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Update to actions/checkout@v3 (#9759)
2022-10-16 15:33:48 +02:00
Tim Düsterhus 6c3b148d7a Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  Update to actions/checkout@v3 (#9759)
2022-10-16 15:33:22 +02:00
Tim Düsterhus 629fcb6a0f Update to actions/checkout@v3 (#9759)
The relevant difference is that the v3 uses a newer node.js version. GitHub
currently warns when using v2, as the node.js version used is deprecated:

> Node.js 12 actions are deprecated. For more information see:
> https://github.blog/changelog/2022-09-22-github-actions-all-actions-will-begin-running-on-node16-instead-of-node12/.
> Please update the following actions to use Node.js 16: actions/checkout,
> actions/checkout
2022-10-16 15:33:07 +02:00
Arnaud Le Blanc 2c25dfb440 [ci skip] NEWS 2022-10-16 12:46:25 +02:00
Arnaud Le Blanc a1295cbfce Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  [ci skip] NEWS
  [ci skip] NEWS
  Restore extra_named_params when restoring frozen call stack
2022-10-16 12:45:41 +02:00
Arnaud Le Blanc e3c40c6829 [ci skip] NEWS 2022-10-16 12:44:05 +02:00
Arnaud Le Blanc 2831e0c624 Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  [ci skip] NEWS
  Restore extra_named_params when restoring frozen call stack
2022-10-16 12:43:34 +02:00
Arnaud Le Blanc f702f87f70 [ci skip] NEWS 2022-10-16 12:43:21 +02:00
Arnaud Le Blanc 86e1fea39a Restore extra_named_params when restoring frozen call stack 2022-10-16 12:40:09 +02:00
Christoph M. Becker aba82c74d9 Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Fix GH-9720: Null pointer dereference while serializing the response
2022-10-13 16:08:34 +02:00
Christoph M. Becker 24c297086d Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  Fix GH-9720: Null pointer dereference while serializing the response
2022-10-13 16:00:36 +02:00
Christoph M. Becker e440e37fa8 Fix GH-9720: Null pointer dereference while serializing the response
When traversing the result array, we need to cater to `param_name`
possibly being `NULL`.  Prior to PHP 7.0.0, this was implicitly done
because `param_name` was of type `char*`.

Closes GH-9739.
2022-10-13 15:56:08 +02:00
Christoph M. Becker 3193c037d2 Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Fix potential heap corruption due to alignment mismatch
2022-10-13 11:48:07 +02:00
Christoph M. Becker 7e14d2466a Fix potential heap corruption due to alignment mismatch
The fix for bug 63327[1] changed the extra size of mysqlnd allocations
from `sizeof(size_t)` to the properly aligned values; however, the
allocation in `_mysqlnd_pestrdup()` has apparently been overlooked,
which (currently) causes detectable heap corruption when running
mysqli_get_client_stats.phpt on 32bit Windows versions.

[1] <https://github.com/php/php-src/commit/338a47bb856872f9ab0db94e867333d73279ca85>

Closes GH-9724.
2022-10-13 11:47:24 +02:00
Christoph M. Becker 3b5a9da2dc Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Updated to version 2022.5 (2022e)
  Updated to version 2022.5 (2022e)
2022-10-13 11:43:33 +02:00
Derick Rethans 577b904fdc Updated to version 2022.5 (2022e) 2022-10-12 09:37:30 +01:00
Derick Rethans 0ff07838ed Empty merge 2022-10-12 09:37:30 +01:00
Derick Rethans 24963be8ef Updated to version 2022.5 (2022e) 2022-10-12 09:37:28 +01:00
Ben Ramsey f516e19948 Merge branch 'PHP-8.1' into PHP-8.2 2022-10-11 19:51:17 -04:00
Ben Ramsey 865161af33 PHP-8.1 is now for PHP 8.1.13-dev 2022-10-11 19:47:00 -04:00
David Carlier c15fe51918 Fix GH-9653: does not inconditionally support copy_file_range on older kernels.
As mentioned in its manpage, it had been reworked in the 5.3 line to support cross filesystem interactions.
Closes #GH-9656
2022-10-11 21:47:34 +01:00
Christoph M. Becker 86f8d423dd [ci skip] Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Prepare for PHp 8.0.26
2022-10-11 16:00:23 +02:00
Christoph M. Becker 7a6965ccb2 [ci skip] Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  Prepare for PHp 8.0.26
2022-10-11 15:58:17 +02:00
Gabriel Caruso dd394b3dff Prepare for PHp 8.0.26 2022-10-11 15:24:53 +02:00
Dmitry Stogov 46fcf33c7b Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Fix crashes after opcache restart
2022-10-11 14:23:59 +03:00
Dmitry Stogov c5364b851a Fix crashes after opcache restart 2022-10-11 14:23:12 +03:00
Sergey Panteleev 60cb8fe656 [ci skip] Update NEWS for PHP 8.2.0RC5 2022-10-11 10:49:29 +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