Skip to content

Conversation

@pull
Copy link

@pull pull bot commented Jan 2, 2026

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

…info()

The reason why freeing was not done yet is because the pointer in these
variables may be:
- Static data set by the readline/libedit library initially, not heap
  data.
- Data set by another thread. Although the libraries appear to be not
  thread-safe anyway.

To solve this, introduce some TLS variables to hold a pointer for us
when we override the settings, such that we can free them and are
certain they are allocated by us.

Closes GH-20794.
* PHP-8.4:
  Fix GH-18139: Memory leak when overriding some settings via readline_info()
* PHP-8.5:
  Fix GH-18139: Memory leak when overriding some settings via readline_info()
…ing non-terminated strings (#20811)

zend_string_truncate() doesn't put a NUL byte.
Right now this doesn't matter as this code path is only hittable via the
equals() method, but if other extension (or future other code) starts
using this code path, then it can be problematic as all user-exposed
zend_strings need to end with a NUL byte.
* PHP-8.5:
  uri: Fix RFC3986 to_string implementation with ExcludeFragment returning non-terminated strings (#20811)
@pull pull bot locked and limited conversation to collaborators Jan 2, 2026
@pull pull bot added the ⤵️ pull label Jan 2, 2026
@pull pull bot merged commit 8f8d2a4 into turkdevops:master Jan 2, 2026
1 of 2 checks passed
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant