1
0
mirror of https://github.com/php/php-src.git synced 2026-04-28 10:43:30 +02:00
Commit Graph

129466 Commits

Author SHA1 Message Date
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
Máté Kocsis f743cb0f69 Declare ext/intl constants in stubs - part 13 (#9385) 2022-08-21 13:12:38 +02:00
Máté Kocsis 0897266219 Fix GH-9285 Traits cannot be used in readonly classes 2022-08-21 10:33:08 +02:00
Máté Kocsis d7383ed807 Declare ext/tidy constants in stubs (#9383) 2022-08-20 17:08:28 +02:00