1
0
mirror of https://github.com/php/php-src.git synced 2026-04-26 17:38:14 +02:00
Commit Graph

133159 Commits

Author SHA1 Message Date
George Peter Banyard e2667f17bc Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  ODBC unit tests shouldn't override odbc.ini location
  Fix persistent procedural ODBC connections not getting closed
2023-09-06 01:58:11 +01:00
George Peter Banyard 88ed678935 Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  ODBC unit tests shouldn't override odbc.ini location
  Fix persistent procedural ODBC connections not getting closed
2023-09-06 01:57:28 +01:00
Calvin Buckley a648d39297 ODBC unit tests shouldn't override odbc.ini location
`ext/odbc/tests/config.inc` overrides the INIs used for the ODBC driver
manager pointlessly. It's not pointing to some custom PHP test suite
specific one, but the system one in `/etc/odbc(inst).ini`. Which
doesn't necessarily exist, on i.e. NixOS, MacPorts, etc.

Closes GH-12133

Signed-off-by: George Peter Banyard <girgias@php.net>
2023-09-06 01:56:04 +01:00
Calvin Buckley 5a2b251610 Fix persistent procedural ODBC connections not getting closed
Like oci8, procedural ODBC uses an apply function on the hash list to
enumerate persistent connections and close the specific one. However,
this function take zvals, not resources. However, it was getting casted
as such, causing it to interpret the pointer incorrectly. This could
have caused other issues, but mostly manifested as failing to close the
connection even fi it matched.

The function now takes a zval and gets the resource from that. In
addition, it also removes the cast of the function pointer and moves
casting to the function body, to avoid possible confusion like this in
refactors again. It also cleans up style and uses constants in the
function body.

Closes GH-12132

Signed-off-by: George Peter Banyard <girgias@php.net>
2023-09-06 01:55:02 +01:00
Dmitry Stogov 3ffa1c4c3e Fix ws 2023-09-06 00:01:03 +03:00
Dmitry Stogov 95edb50b58 Fixed tracing jit for BIND_INIT_STATIC_OR_JMP 2023-09-05 23:57:38 +03:00
Ilija Tovilo bb31a75321 Skip profiling of sqlite3_step
It looks like sqlite3_step can vary quite drastically from one request to the
next. This seems to be caused by more or fewer calls to sqlite3VdbeSorterWrite.
It would be great if we could find a way to make execution of this function more
consistent, but at this point I don't know how.

Closes GH-12130
2023-09-05 17:38:00 +02:00
Ilija Tovilo 3433dab5f7 Revert 479e659331
There were 4 different reports of this breaking behavior. This is higher than I
expected. This bug fix may still be desirable, but should be discussed on the
list beforehand.

Closes GH-12127
2023-09-05 16:14:28 +02:00
George Peter Banyard 8a392eddf9 Fix OSS Fuzz #61865: Undef variable in ++/-- for declared property that is unset in error handler
Reorder when we assign the property value to NULL which is identical to
a3a3964497

Just for the declared property case instead of dynamic.

Closes GH-12114
2023-09-05 10:40:02 +01:00
George Peter Banyard d7273c5963 Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  Prevents double call to internal iterator rewind handler
  adds failing test case for #12060
2023-09-05 10:36:16 +01:00
George Peter Banyard c672a06954 Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Prevents double call to internal iterator rewind handler
  adds failing test case for #12060
2023-09-05 10:27:33 +01:00
ju1ius da7a66d647 Prevents double call to internal iterator rewind handler
Closes GH-12060

Signed-off-by: George Peter Banyard <girgias@php.net>
2023-09-05 10:26:19 +01:00
ju1ius 9658d9ada4 adds failing test case for #12060
Signed-off-by: George Peter Banyard <girgias@php.net>
2023-09-05 10:23:22 +01:00
Dmitry Stogov b4ce171aa2 Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  Fixed uninitialized EX(opline) access (possible Zend/tests/gh12073.phpt crash)
2023-09-05 10:13:47 +03:00
Dmitry Stogov ab6d564a7e Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Fixed uninitialized EX(opline) access (possible Zend/tests/gh12073.phpt crash)
2023-09-05 10:13:22 +03:00
Dmitry Stogov f1f608bf53 Fixed uninitialized EX(opline) access (possible Zend/tests/gh12073.phpt crash) 2023-09-05 10:11:54 +03:00
Ilija Tovilo baf74ed1a4 Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  Fix freeing of incompletely initialized closures
2023-09-04 15:39:39 +02:00
Ilija Tovilo 6850a040f3 Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Fix freeing of incompletely initialized closures
2023-09-04 15:39:20 +02:00
Ilija Tovilo af2110e664 Fix freeing of incompletely initialized closures
Addref to relevant fields before allocating any memory. Also only set/remove the
ZEND_ACC_HEAP_RT_CACHE flag after allocating memory.

Fixes GH-12073
Closes GH-12074
2023-09-04 15:35:39 +02:00
Ilija Tovilo 6d0b27d25c Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  [skip ci] Backport GA paths-ignore changes
2023-09-04 13:58:38 +02:00
Ilija Tovilo b4dc85fced Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  [skip ci] Backport GA paths-ignore changes
2023-09-04 13:58:10 +02:00
Ilija Tovilo e3df233aca [skip ci] Backport GA paths-ignore changes 2023-09-04 13:57:48 +02:00
Ilija Tovilo f54771ee3e Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  [skip ci] Skip github actions when editing other ci files
2023-09-04 13:54:21 +02:00
Ilija Tovilo fc4c8064ba Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  [skip ci] Skip github actions when editing other ci files
2023-09-04 13:54:15 +02:00
Ilija Tovilo 8cca0e80ef [skip ci] Skip github actions when editing other ci files 2023-09-04 13:53:58 +02:00
Niels Dossche eee1617f38 Tweak behaviour of dynamic properties wrt error handlers
With the fix in https://github.com/php/php-src/pull/12114, the behaviour
would change for non-dynamic properties. Align the behaviour for dynamic
properties to be the same.

Closes GH-12117.
2023-09-03 18:27:21 +02:00
Ilija Tovilo 6b74f1f745 xfail mbstring test on Windows 32-bit 2023-09-03 14:22:40 +02:00
Ilija Tovilo 9ce9c11ee8 Fix master branch check in find-target-branch.bat 2023-09-03 14:18:41 +02:00
Ilija Tovilo 341d54c412 [skip ci] Fix branch check in nightly for PHP-8.3 2023-09-03 14:16:38 +02:00
Ilija Tovilo ee6f9e294c Include branch in benchmarking information
This allows https://nielsdos.github.io/php-benchmark-visualisation/ to only
show commits from master (or a specific branch). Otherwise we get confusing,
undulating commits from different branches, with potentially wildly different
performance.

Closes GH-12101
2023-09-03 13:48:23 +02:00
George Peter Banyard b17958e7be Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  Fixed bug GH-12020: intl_get_error_message() broken after MessageFormatter::formatMessage() fails
2023-09-03 01:04:59 +01:00
George Peter Banyard fa0953f49d Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Fixed bug GH-12020: intl_get_error_message() broken after MessageFormatter::formatMessage() fails
2023-09-03 01:04:06 +01:00
George Peter Banyard a579fa807c Fixed bug GH-12020: intl_get_error_message() broken after MessageFormatter::formatMessage() fails
Passing NULL as the pointer to intl_error* will use the global error stack.
This is what we need to do instead of pushing it onto the temporary format object that is released.
2023-09-03 01:02:46 +01:00
George Peter Banyard 013bb5769b Add tests for oss-fuzz-61469: Undef dynamic property in ++/-- unset in error handler
This was fixed as a consequence of a3a3964497

Closes GH-12011
2023-09-02 23:34:20 +01:00
George Peter Banyard 508e70ac3c Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  Fix memory leak with failed SQLPrepare
2023-09-02 23:03:04 +01:00
George Peter Banyard 30b550bad5 Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Fix memory leak with failed SQLPrepare
2023-09-02 23:01:08 +01:00
Calvin Buckley a022ec53bd Fix memory leak with failed SQLPrepare
Closes GH-12095

Signed-off-by: George Peter Banyard <girgias@php.net>
2023-09-02 23:00:06 +01:00
Máté Kocsis c5fb8b6a6b Align class name detection to the new class synopsis format 2023-09-01 14:15:36 +02:00
Ilija Tovilo 7c4bae688b Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  [skip ci] Fix borked xleak skip on <PHP-8.3
2023-09-01 12:40:46 +02:00
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
Remi Collet 1f2cfd8009 ensure displays_errors is off (default) 2023-08-31 14:55:17 +02:00
Ilija Tovilo 8f4738f41d Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  Increase run-tests.php timeout for asan
2023-08-30 23:10:24 +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 c272cd6302 Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  Fix GH-11972: RecursiveCallbackFilterIterator regression in 8.1.18
2023-08-30 22:31:21 +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 dc72ceda90 Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  Fix GH-11972: RecursiveCallbackFilterIterator regression in 8.1.18
2023-08-30 22:27:06 +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