1
0
mirror of https://github.com/php/php-src.git synced 2026-04-21 06:51:18 +02:00
Commit Graph

129469 Commits

Author SHA1 Message Date
Christoph M. Becker
145525bc4c Merge branch 'PHP-8.1'
* PHP-8.1:
  xmlRelaxNGCleanupTypes() is deprecated as of libxml2 2.10.0
2022-08-25 15:12:40 +02:00
Christoph M. Becker
afc5ab4531 Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  xmlRelaxNGCleanupTypes() is deprecated as of libxml2 2.10.0
2022-08-25 15:11:41 +02:00
Christoph M. Becker
f59754694e xmlRelaxNGCleanupTypes() is deprecated as of libxml2 2.10.0
The documentation[1] suggest to call `xmlCleanupParser()` instead, but
we are not doing that for reasons[2].  Thus, we do no longer call
`xmlRelaxNGCleanupTypes()` for libxml2 ≥ 2.10.0.

[1] <https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-relaxng.html#xmlRelaxNGCleanupTypes>
[2] <8742276eb3>

Closes GH-9417.
2022-08-25 15:10:30 +02:00
Tim Düsterhus
cbb024cb3d Select rand_rangeXX() variant only based on the requested range (#9418)
This fixes an incompatibility when wrapping native 32-bit engines with a userland
engine. The latter always used the 64-bit range function which then used two
32-bit numbers from the underlying engine to fill the 64-bit range, whereas the
native implementation used only one.

Now the selection of the range variant only depends on the requested range. A
32-bit range uses the 32-bit variant (even for 64-bit engines), whereas a
larger range uses the 64-bit variant.

This was found in https://github.com/php/php-src/pull/9410#discussion_r953213000
2022-08-25 09:42:32 +02:00
Máté Kocsis
de90edc42c Declare ext/oci8 constants in stubs (#9419)
Co-authored-by: Christoph M. Becker <cmbecker69@gmx.de>
2022-08-24 21:10:20 +02:00
David CARLIER
e787d9a0dc GH-9370: Fix opcache jit protection bits.
Allow mprotect to occur, pthread_jit_write_np are just to allow mprotect
 flags to be used.

Closes #9371.
2022-08-24 16:11:35 +01:00
Máté Kocsis
92c8e79673 Merge branch 'PHP-8.1'
* PHP-8.0:
  Test oci8 & pdo_oci in CI
2022-08-24 16:47:17 +02:00
Máté Kocsis
497820ea5f Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  Test oci8 & pdo_oci in CI
2022-08-24 16:46:38 +02:00
Michael Voříšek
c19116ff09 Test oci8 & pdo_oci in CI
Closes GH-8348
2022-08-24 16:45:34 +02:00
Máté Kocsis
bc4c012611 Declare ext/standard constants in stubs - part 1 (#9404) 2022-08-24 16:09:48 +02:00
Máté Kocsis
10a27bc47b Merge branch 'PHP-8.1'
* PHP-8.1:
  Fix pdo_oci tests for PHP 8.1
2022-08-24 14:40:01 +02:00
Michael Voříšek
2db2cab6ad Fix pdo_oci tests for PHP 8.1
Closes GH-9051
2022-08-24 14:39:45 +02:00
Tim Düsterhus
0f696e2934 Fix rand_range32() for umax = UINT32_MAX (#9416)
* Fix rand_range32() for umax = UINT32_MAX

This was introduced in the commit that added the random extension:
4d8dd8d258.

Resolves GH-9415

* [ci skip] Rename `$r` to `$randomizer` in gh9415.phpt

* Make gh9415.phpt deterministic

* Make gh9415.phpt compatible with 32-bit
2022-08-24 14:25:51 +02:00
Christoph M. Becker
b78c087b32 Fix typo (Paletter → Palette)
This also aligns the error message with upstream[1].

[1] <https://github.com/libgd/libgd/blob/gd-2.3.3/src/gd_webp.c#L182>

Closes GH-9414.
2022-08-24 13:40:16 +02:00
Dmitry Stogov
205ad0af29 Fix coding style 2022-08-24 08:44:49 +03:00
wxue1
9f926d6b2d Stop JIT hot spot counting (#9343)
When max_root_trace is reached, JIT in tracing mode will not
compile any new code for root trace and side trace, but
counting hot code is still going on. This patch stops counting
as soon as possible by replacing counter handler with
original handler, which increases 1.5% performance.

Signed-off-by: Wang, Xue <xue1.wang@intel.com>

Signed-off-by: Wang, Xue <xue1.wang@intel.com>
2022-08-24 08:37:49 +03:00
Tim Düsterhus
2d6a883b3a Unify structure for ext/random's engine tests (#9321)
* Remove user_xoshiro128plusplus.phpt

This test does not exercise any of the code paths of the random extension and
thus is no value-add.

* Unify structure for ext/random's engine tests
2022-08-23 23:55:11 +02:00
George Peter Banyard
b9f7123c5e Check at compile time that a built-in class is not being aliased (#9402)
If one tries to use such an alias as a type declaration the following error would be raised:
Fatal error: Cannot use 'int' as class name as it is reserved
2022-08-23 22:34:02 +01:00
Bob Weinand
396b2aab85 Wrap observer notify functions into inlined enabled checks
Signed-off-by: Bob Weinand <bobwei9@hotmail.com>
2022-08-23 15:22:22 +02:00
Bob Weinand
bf427b732a Add an API to observe functions and classes being linked
To observe when the functions and classes start being officially available to the user

Signed-off-by: Bob Weinand <bobwei9@hotmail.com>
2022-08-23 15:22:22 +02:00
Ollie Read
9b984f52ea Enum error message consistency (#9350) 2022-08-23 13:32:34 +02:00
Dmitry Stogov
567213c32a Drop range inference for IS_NULL/IS_FALSE/IS_TRUE.
These values not always converted to IS_LONG (e.g. by -- and ++) and
this leads to incorrect range inferene and later to incorrect JIT code
generation.
2022-08-23 11:22:31 +03:00
Dmitry Stogov
e10d2c2bf9 Merge branch 'PHP-8.1'
* PHP-8.1:
  Fix type inference
2022-08-22 21:12:49 +03:00
Dmitry Stogov
95befc786a Fix type inference
Fixes oss-fuzz #50272
2022-08-22 21:11:39 +03:00
Dmitry Stogov
d8c6549974 Merge branch 'PHP-8.1'
* PHP-8.1:
  JIT: Make code generation to be consistent with register allocation
2022-08-22 20:00:44 +03:00
Dmitry Stogov
2a33280ceb Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  JIT: Make code generation to be consistent with register allocation
2022-08-22 19:55:10 +03:00
Dmitry Stogov
fd74ee7e90 JIT: Make code generation to be consistent with register allocation
Fixes ext/opcache/tests/jit/add_014.phpt with opcache.jit=1205
2022-08-22 19:53:33 +03:00
Christoph M. Becker
9313cd899e Don't enforce 64 hit counter on Windows
There is no particular need to have a 64bit hit counter on Windows.

Closes GH-9367.
2022-08-22 17:49:30 +02:00
George Peter Banyard
66aed3a86f SameSite session cookie prop should behave like other INI settings
It should warn if the INI setting is changed after headers are sent or a session is not active
2022-08-22 16:09:46 +01:00
Dmitry Stogov
a44fb09620 Merge branch 'PHP-8.1'
* PHP-8.1:
  Fix memory leaks
2022-08-22 17:54:36 +03:00
Dmitry Stogov
5bab9e94fd Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  Fix memory leaks
2022-08-22 17:47:43 +03:00
Dmitry Stogov
73c2d79fc5 Fix memory leaks
Fixes oss-fuzz #50078
2022-08-22 17:47:07 +03:00
George Peter Banyard
a8f8cc207c Check sessions are active before output emitted consistently 2022-08-22 15:45:43 +01:00
George Peter Banyard
ad3ee47c6d Remove OnUpdateTransSid validator
It is more restrictive than the OnUpdateSessionBool one
2022-08-22 15:45:43 +01:00
George Peter Banyard
e9749a3c1e Remove OnUpdateLazyWrite validator
It is identical to the OnUpdateSessionBool one
2022-08-22 15:45:43 +01:00
George Peter Banyard
a75de167bf Add test for negative cookie lifetime 2022-08-22 15:45:43 +01:00
George Peter Banyard
e8e015777e Use bool instead of int in session struct 2022-08-22 15:45:43 +01:00
George Peter Banyard
d0d6dae8f7 Add a new zend API to check that strings don't have NUL bytes (#9375)
Co-authored-by: Christoph M. Becker <cmbecker69@gmx.de>
2022-08-22 15:28:38 +01:00
Dmitry Stogov
a5d84ba0d8 Merge branch 'PHP-8.1'
* PHP-8.1:
  Tracing JIT: Fix incorrect guard elimination
2022-08-22 15:42:28 +03:00
Dmitry Stogov
5762fc52c6 Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  Tracing JIT: Fix incorrect guard elimination
2022-08-22 15:39:47 +03:00
Dmitry Stogov
c9c51eb1f1 Tracing JIT: Fix incorrect guard elimination
Fixes oss-fuzz #49917
2022-08-22 15:38:41 +03:00
Máté Kocsis
66c4ade0fe Declare ext/intl constants in stubs - part 14 (#9387) 2022-08-22 13:20:26 +02:00
Christoph M. Becker
a7d084b955 Merge branch 'PHP-8.1'
* PHP-8.1:
  Fix GH-9361: Segmentation fault on script exit
2022-08-22 13:01:56 +02:00
Christoph M. Becker
6427c4b858 Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  Fix GH-9361: Segmentation fault on script exit
2022-08-22 13:00:48 +02:00
Christoph M. Becker
bb341210f5 Fix GH-9361: Segmentation fault on script exit
Using a lot of memory may overflow some `int` calculations; to avoid
that we make sure that the operands are promoted to `size_t`.

This issue has been analyzed by @chschneider.

Closes GH-9379.
2022-08-22 12:59:17 +02:00
Máté Kocsis
ae95644f36 Merge branch 'PHP-8.1'
* PHP-8.1:
  Fix pdo_oci tests for PHP 8.0
2022-08-22 09:29:32 +02:00
Máté Kocsis
3e0f144b2c Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  Fix pdo_oci tests for PHP 8.0
2022-08-22 09:28:29 +02:00
Michael Voříšek
305892580e Fix pdo_oci tests for PHP 8.0 2022-08-22 09:25:43 +02:00
Máté Kocsis
06f86bfc65 Declare phpdbg constants in stubs (#9392) 2022-08-21 19:05:17 +02:00
Máté Kocsis
51eb1d4f6c Fix curl/sync_constants.php (#9391) 2022-08-21 18:04:33 +02:00