Conversation
dstogov
force-pushed
the
master
branch
2 times, most recently
from
October 11, 2023 06:58
63c8ce8 to
7dc352e
Compare
iluuu1994
force-pushed
the
master
branch
4 times, most recently
from
October 13, 2023 09:46
49b8168 to
6d3d4df
Compare
* PHP-8.4: Fix GH-23897: php:function() assertion after failed registerPHPFunctions()
* PHP-8.5: Fix GH-23897: php:function() assertion after failed registerPHPFunctions()
* PHP-8.6: Fix GH-23897: php:function() assertion after failed registerPHPFunctions()
zend_get_known_property_info treated a ZEND_ACC_CHANGED public property as the known offset even when the executing scope owned a private property of the same name, so tracing JIT wrote through a child's public slot. Returning NULL uses the runtime-cache path, which already goes through zend_get_property_offset. FETCH_OBJ_W, ASSIGN_OBJ, INC, and ASSIGN_OBJ_OP share the helper; $this access, child methods, and unshadowed or protected-to-public properties do not hit this arm. Fixes GH-23679 Closes GH-23683
* PHP-8.5: ext/opcache: Fix GH-23679 tracing JIT shadowed private writes
* PHP-8.6: ext/opcache: Fix GH-23679 tracing JIT shadowed private writes
These files should be congruent across branches.
* PHP-8.2: [skip ci] Sync .github files
* PHP-8.3: [skip ci] Sync .github files
* PHP-8.4: [skip ci] Sync .github files
* PHP-8.5: [skip ci] Sync .github files
* PHP-8.6: [skip ci] Sync .github files
ASAN stack usage is unreliable so we might overflow before the limit is reached.
* PHP-8.2: [skip ci] Skip recursion tests on ASAN
* PHP-8.3: [skip ci] Skip recursion tests on ASAN
* PHP-8.4: [skip ci] Skip recursion tests on ASAN
* PHP-8.5: [skip ci] Skip recursion tests on ASAN
* PHP-8.6: [skip ci] Skip recursion tests on ASAN
This function is only used in debug builds.
* PHP-8.5: Fix GH-23896: Assertion failure in zend_call_function() after a throwing deprecation
* PHP-8.6: Fix GH-23896: Assertion failure in zend_call_function() after a throwing deprecation
* PHP-8.4: Updated to version 2026.5 (2026e)
* PHP-8.5: Updated to version 2026.5 (2026e)
* PHP-8.6: Updated to version 2026.5 (2026e)
php_cli_server_content_sender_send() moved on to the next queued chunk after a short send() of the current one. When that send() succeeded, its bytes went out ahead of the current chunk's remainder, and the full-send branch pointed buffer.first past both, unlinking the partially sent chunk. The client received later chunks spliced into the body, the connection was closed short of Content-Length, and the unsent remainder leaked. Stop at the first partial write and resume from that chunk on the next POLLOUT. Closes GH-23969
CLOCK_MONOTONIC_RAW is not disciplined by NTP, so it ticks with the raw frequency error of the underlying oscillator, which is 4% under WSL2 and makes hrtime() disagree with microtime() by that much. The slew that GH-19221 wanted to avoid is bounded to 500ppm by the kernel and is what makes CLOCK_MONOTONIC track elapsed real time. zend_hrtime_posix_clock_id stays for ABI compatibility, but nothing reads it anymore. Co-authored-by: Tim Düsterhus <tim@tideways-gmbh.com>
* PHP-8.6: zend_hrtime: use CLOCK_MONOTONIC instead of CLOCK_MONOTONIC_RAW (#23790)
* PHP-8.4: sapi/cli: Fix built-in server truncating responses after a partial write
* PHP-8.5: sapi/cli: Fix built-in server truncating responses after a partial write
* PHP-8.6: sapi/cli: Fix built-in server truncating responses after a partial write
PDOStatement::execute() returned false on a bind, parse, or driver failure without clearing stmt->executed, so a later fetch returned rows from the previous success. Close the previous result on entry, before the error state is cleared, so a cursor closer that records an error cannot replace the SQLSTATE of the failure execute() reports. Closes GH-23938
* PHP-8.4: ext/pdo: Drop the previous result when execute() fails
…rgs (#23254) Non-literal expressions must be evaluated once and memoized to maintain semantics.
* PHP-8.6: Fix array_map optimization with non-literal function or non-literal args (#23254)
IR commit: 93f92f5b5a49a02295685e340ebb0b83562cbe79
* PHP-8.6: Update IR (#24013)
* PHP-8.5: ext/pdo: Drop the previous result when execute() fails
* PHP-8.6: ext/pdo: Drop the previous result when execute() fails
SQLite3Stmt::reset() reports a failed sqlite3_reset() through php_sqlite3_error(), but SQLite3Result::reset() returned false silently and SQLite3Result::finalize() ignored the result. Both now surface the underlying SQLite error the same way; finalize() keeps its : true return type and reports without altering the return value. Fixes GH-22051 Closes GH-22363
dispatch_param_event iterates bound_params with ZEND_HASH_FOREACH while sqlite's EXEC_PRE hook can run __toString; execute() then destroys the table and bindValue() replaces buckets. Steal one _reserved bit as in_param_event (no layout size change; the header is installed) and throw Error from bindParam, bindValue, bindColumn, execute, and closeCursor while the hook is running. fetch is left unguarded: nested FOREACH is read-only and FETCH_POST writes column zvals, not the HashTable. 8.5/master already have a uint16_t bitfield with in_fetch; the forward merge needs in_param_event:1 and reserved:11. Closes GH-23252
* PHP-8.4: Fix HashTable UAF when rebound from a parameter __toString()
* PHP-8.5: Fix HashTable UAF when rebound from a parameter __toString()
* PHP-8.6: Fix HashTable UAF when rebound from a parameter __toString()
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
See Commits and Changes for more details.
Created by
pull[bot]
Can you help keep this open source service alive? 💖 Please sponsor : )