1
0
mirror of https://github.com/php/php-src.git synced 2026-04-21 15:08:16 +02:00
Commit Graph

131190 Commits

Author SHA1 Message Date
Ilija Tovilo aff86d68f6 Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  [skip ci] Fix borked xleak skip on <PHP-8.3
2023-09-01 12:40:07 +02:00
Ilija Tovilo b21df69848 [skip ci] Fix borked xleak skip on <PHP-8.3
xleak in skipif was only added in PHP 8.3.
2023-09-01 12:39:03 +02:00
Ilija Tovilo 936538d8d7 Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Increase run-tests.php timeout for asan
2023-08-30 23:10:10 +02:00
Ilija Tovilo f4a6a6d096 Increase run-tests.php timeout for asan
Closes GH-12087
2023-08-30 23:09:33 +02:00
Niels Dossche f134b0efe6 Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Fix GH-11972: RecursiveCallbackFilterIterator regression in 8.1.18
2023-08-30 22:31:11 +02:00
Niels Dossche 1cdcbc05b0 Fix GH-11972: RecursiveCallbackFilterIterator regression in 8.1.18
When you do an assignment between two zvals (no, not zval*), you copy
all fields. This includes the additional u2 data. So that means for
example the Z_NEXT index gets copied, which in some cases can therefore
cause a cycle in zend_hash lookups.
Instead of doing an assignment, we should be doing a ZVAL_COPY (or
ZVAL_COPY_VALUE for non-refcounting cases). This avoids copying u2.

Closes GH-12086.
2023-08-30 22:30:59 +02:00
Niels Dossche 262a22740c Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Fix GH-11972: RecursiveCallbackFilterIterator regression in 8.1.18
2023-08-30 22:26:36 +02:00
Ilija Tovilo 10c81039da Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Skip dl() tests on ASAN
2023-08-30 22:25:11 +02:00
George Peter Banyard d229a480ad Fix GH-11876: ini_parse_quantity() accepts invalid quantities
Closes GH-11910
2023-08-30 21:22:13 +01:00
Ilija Tovilo fb0f4215de Skip dl() tests on ASAN 2023-08-30 22:20:51 +02:00
Niels Dossche ffd7018fcd Fix GH-11972: RecursiveCallbackFilterIterator regression in 8.1.18
When you do an assignment between two zvals (no, not zval*), you copy
all fields. This includes the additional u2 data. So that means for
example the Z_NEXT index gets copied, which in some cases can therefore
cause a cycle in zend_hash lookups.
Instead of doing an assignment, we should be doing a ZVAL_COPY (or
ZVAL_COPY_VALUE for non-refcounting cases). This avoids copying u2.

Closes GH-12086.
2023-08-30 22:18:33 +02:00
Ilija Tovilo d5f7ffb914 Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Make unrepeatable tests retriable
2023-08-29 13:58:53 +02:00
Ilija Tovilo f2c16b7ba3 Make unrepeatable tests retriable
This was an error in thinking on my side. The reason these tests are
unrepeatable is because --repeat executes the same request in the same process,
and does not run the CLEAN section in between runs. This is not the case when
retrying tests.

We could potentially make CLEAN tests repeatable by including the CLEAN section
in the tested script. This does however not work for all tests (e.g. tests that
set open_basedir).

Closes GH-12072
2023-08-29 13:56:13 +02:00
Peter Kokot a1043fe051 Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  On riscv64 require libatomic if actually needed
2023-08-28 19:47:44 +02:00
Jeremie Courreges-Anglas bf3fb4e5c9 On riscv64 require libatomic if actually needed
clang and newer gcc releases support byte-sized atomic accesses on
riscv64 through inline builtins.  In both cases the hard dependency on
libatomic added by GH-11321 isn't useful.

Stop using AC_CHECK_LIB() which is too naive to notice that libatomic
isn't needed.  Instead, PHP_CHECK_FUNC() will retry the check with -latomic
if required.

Closes GH-11790
2023-08-28 19:47:19 +02:00
Ilija Tovilo c128dbdd69 Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  [skip ci] Fix trailing data in unserialize in soap test
2023-08-28 17:25:07 +02:00
Ilija Tovilo c8f6ee8c6f [skip ci] Fix trailing data in unserialize in soap test 2023-08-28 17:24:45 +02:00
Ilija Tovilo ca4d7bf5f3 Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Fix missing instantclient in CI
2023-08-28 14:23:47 +02:00
Ilija Tovilo f3bd027b69 Fix missing instantclient in CI
We should only pass the --with-pdo-oci and --with-oci8 flags if instantclient is
installed.

Closes GH-12066
2023-08-28 14:23:36 +02:00
Jakub Zelenka 038bbd2d2f Merge branch 'PHP-8.1' into PHP-8.2 2023-08-28 12:15:33 +01:00
Jakub Zelenka e1396a314d Fix flaky file stat tests due to changing nature of atime 2023-08-28 12:14:55 +01:00
Niels Dossche ab2cc6e50e Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Add missing EXTENSIONS section to DOM tests
2023-08-26 18:40:02 +02:00
Niels Dossche bffc74474b Add missing EXTENSIONS section to DOM tests 2023-08-26 18:37:42 +02:00
Kamil Tekiela ec82927d25 Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Fix param name in implode() error message
2023-08-24 21:07:18 +01:00
Kamil Tekiela b1ce1d1f21 Fix param name in implode() error message 2023-08-24 21:05:26 +01:00
Ilija Tovilo a8e5285437 Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Move installation of oracle instant client in GHA
2023-08-23 11:28:59 +02:00
Ilija Tovilo ba07a0b846 Move installation of oracle instant client in GHA
Closes GH-12033
2023-08-23 11:28:17 +02:00
Niels Dossche 767697c4ae Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Fix memory leak when setting an invalid DOMDocument encoding
2023-08-20 14:07:25 +02:00
Niels Dossche 20ac42e1b0 Fix memory leak when setting an invalid DOMDocument encoding
Because the failure path did not release the string, there was a memory
leak.
As the only valid types for this function are IS_NULL and IS_STRING, we
and IS_NULL is always rejected in practice, solve the issue by not using
a function that increments the refcount in the first place.

Closes GH-12002.
2023-08-20 14:05:26 +02:00
David Carlier f995c0df36 Merge branch 'PHP-8.1' into PHP-8.2 2023-08-19 23:09:41 +01:00
David Carlier fc8d5c72e5 ext/iconv: fix build for netbsd.
NetBSD still adopts the old iconv signature for buffer inputs.
The next release will too so we can assume it will remain that way for
a while.

Close GH-12001
2023-08-19 23:09:22 +01:00
jrfnl 85661a35f0 Remove mysqli.reconnect from php.ini files (#11836)
The `mysqli.reconnect` ini directive was removed in PHP 8.2.0.
2023-08-19 22:54:21 +03:00
Kamil Tekiela 6d039d282a Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Fix failing test on nightly
2023-08-17 18:45:49 +01:00
Kamil Tekiela ffd398b4fe Fix failing test on nightly 2023-08-17 18:45:10 +01:00
Ilija Tovilo d016c49cf5 Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Remove redundant condition
2023-08-17 18:55:45 +02:00
Ilija Tovilo dd01c74a6f Remove redundant condition
Never refactor code just before pushing
2023-08-17 18:54:30 +02:00
Ilija Tovilo 9437aa9a8e Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Fix segfault in format_default_value due to unexpected enum/object
2023-08-17 18:43:49 +02:00
Ilija Tovilo f78d1d0d10 Fix segfault in format_default_value due to unexpected enum/object
Evaluating constants at comptime can result in arrays that contain objects. This
is problematic for printing the default value of constant ASTs containing
objects, because we don't actually know what the constructor arguments were.
Avoid this by not propagating array constants.

Fixes GH-11937
Closes GH-11947
2023-08-17 18:43:11 +02:00
Kamil Tekiela 06bda99280 Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Fix implicit/explicit port in mysqlnd
2023-08-16 20:33:52 +01:00
Kamil Tekiela c1103a9772 Fix implicit/explicit port in mysqlnd 2023-08-16 18:59:07 +01:00
Pierrick Charron 4467f33e89 PHP-8.2 is now for PHP 8.2.11-dev 2023-08-15 16:08:52 -04:00
Patrick Allaert 6e8f5e091e Merge branch 'PHP-8.1' into PHP-8.2 2023-08-15 21:10:06 +02:00
Patrick Allaert 6e3f93f2f8 PHP-8.1 is now for PHP 8.1.24-dev 2023-08-15 21:09:58 +02:00
George Peter Banyard 02a80c5b82 Fix various bugs related to DNF types
- GH-11958: DNF types in trait properties do not get bound properly
 - GH-11883: Memory leak in zend_type_release() for non-arena allocated DNF types
 - Internal trait bound to userland class would not be arena allocated
 - Property DNF types were not properly deep copied during lazy loading

Co-authored-by: Ilija Tovilo <ilija.tovilo@me.com>
Co-authored-by: ju1ius <jules.bernable@gmail.com>
2023-08-15 15:34:33 +01:00
Niels Dossche 0b516aea25 Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Fix #81992: SplFixedArray::setSize() causes use-after-free
2023-08-14 21:34:04 +02:00
Niels Dossche b71c6b2c6c Fix #81992: SplFixedArray::setSize() causes use-after-free
Upon resizing, the elements are destroyed from lower index to higher
index. When an element refers to an object with a destructor, it can
refer to a lower (i.e. already destroyed) element, causing a uaf.
Set refcounted zvals to NULL after destroying them to avoid a uaf.

Closes GH-11959.
2023-08-14 21:32:22 +02:00
Ilija Tovilo 231a1f81c6 Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  ci update freebsd image to the 13.2 image (#11110)
2023-08-14 16:30:14 +02:00
David CARLIER 2012fd3f04 ci update freebsd image to the 13.2 image (#11110) 2023-08-14 16:30:01 +02:00
Ilija Tovilo e11b55d219 Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Use per-branch matrix for windows nightly
2023-08-14 11:40:56 +02:00
Ilija Tovilo 902d39d57c Use per-branch matrix for windows nightly
I forgot this in the last PR.
2023-08-14 11:38:59 +02:00