Skip to content

[pull] master from php:master#1034

Merged
pull[bot] merged 6 commits into
turkdevops:masterfrom
php:master
Jun 26, 2026
Merged

[pull] master from php:master#1034
pull[bot] merged 6 commits into
turkdevops:masterfrom
php:master

Conversation

@pull

@pull pull Bot commented Jun 26, 2026

Copy link
Copy Markdown

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 : )

iliaal added 6 commits June 25, 2026 18:14
fputcsv() and next() reached the file stream without the
CHECK_SPL_FILE_OBJECT_IS_INITIALIZED guard their siblings carry, so
invoking them via reflection on an object from
newInstanceWithoutConstructor() (constructor bypassed, stream NULL)
crashed instead of throwing. next() only touches the stream with the
READ_AHEAD flag, itself settable through the equally unguarded
setFlags(). Both now throw "Object not initialized".

Fixes GH-16217
Closes GH-22454
* PHP-8.4:
  Guard uninitialized SplFileObject in fputcsv() and next()
* PHP-8.5:
  Guard uninitialized SplFileObject in fputcsv() and next()
ReflectionClass::hasProperty() and getProperty() look the name up in the
class's properties_info table and, on a match, return before checking the
object's dynamic properties. A private property declared on a parent class
lives in that table but isn't visible to the child, so a dynamic property of
the same name went unreported. Fold the accessibility check into the lookup so
an inaccessible private-parent match falls through to the existing
dynamic-property check, matching property_exists().

Fixes GH-22441
Closes GH-22451
* PHP-8.4:
  Report dynamic property shadowing a private parent in Reflection
* PHP-8.5:
  Report dynamic property shadowing a private parent in Reflection
@pull pull Bot locked and limited conversation to collaborators Jun 26, 2026
@pull pull Bot added the ⤵️ pull label Jun 26, 2026
@pull pull Bot merged commit 08c6eca into turkdevops:master Jun 26, 2026
1 of 3 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