Skip to content

Fix OSS-Fuzz #552682112: assertion failure wrt zp_arg_must_be_sent_by_ref() - #23760

Merged
ndossche merged 2 commits into
php:PHP-8.6from
ndossche:pfa-kapot
Sep 29, 2026
Merged

ndossche merged 2 commits into
php:PHP-8.6from
ndossche:pfa-kapot

Conversation

@ndossche

Copy link
Copy Markdown
Member

Runtime rejects sending PFA args non-variable in a by-ref position. The const expression path needs a similar check.

@arnaud-lb arnaud-lb left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me!

(Target should be changed to 8.6 now.)

@ndossche

Copy link
Copy Markdown
Member Author

The annoying thing is that this adds a new public API but we're in feature freeze. cc @php/release-managers-86 can I still merge this as-is into 8.6 or do I have to hack around this?

@DanielEScherzer
DanielEScherzer requested a review from a team September 26, 2026 03:56
@mbeccati

Copy link
Copy Markdown
Contributor

@ndossche We've discussed and it's ok to merge to PHP-8.6. Could you please change the PR target branch and proceed?

@ndossche
ndossche changed the base branch from master to PHP-8.6 September 29, 2026 09:58
…_ref()

Runtime rejects sending PFA args non-variable in a by-ref position.
The const expression path needs a similar check.
@ndossche
ndossche merged commit 417327a into php:PHP-8.6 Sep 29, 2026
2 of 3 checks passed
ndossche added a commit that referenced this pull request Sep 29, 2026
* PHP-8.6:
  Fix OSS-Fuzz #552682112: assertion failure wrt zp_arg_must_be_sent_by_ref() (#23760)
bukka added a commit to bukka/php-src that referenced this pull request Sep 29, 2026
* upstream/master: (99 commits)
  NEWS
  Fix property hook escape analysis causing misoptimization
  Fix __isset escape analysis causing misoptimization
  Fix memory leak when closing a statement on a killed connection
  Reset field_count for OK packet (php#23890)
  Fix phpGH-23986: Clear the realpath cache in the child after pcntl_fork() (php#23987)
  ext/standard: Remove redundant if-branch in rot13 (php#23795)
  ext/pdo: Throw a ValueError from bindColumn() for an unknown column (php#23835)
  Zend: rename zend_object* parameter to "this_ptr" for zend_call_* functions (php#23989)
  ext/pdo: Release driver options after bindParam and bindColumn
  tests: Raise test stack for stream error depth limit under MSan (php#23985)
  Zend: Remove zend_atomic.[ch] abstraction (php#23927)
  fibers: fix phpGH-23921 (Fibers start with error_reporting = 0 when the error_reporting INI directive is not set)
  ext/pdo: Keep statement class when ATTR_STATEMENT_CLASS is rejected
  Verify bundled sources using CI - Opcache JIT IR (php#20179)
  zend_portability: Simplify definition of `ZEND_NORETURN` (php#23908)
  Fix phpGH-23758: PDO_Firebird returns null for empty BLOBs (php#23763)
  Remove redundant parentheses in session tests (php#23609)
  Update IR (php#23861)
  Fix OSS-Fuzz #552682112: assertion failure wrt zp_arg_must_be_sent_by_ref() (php#23760)
  ...

# Conflicts:
#	ext/openssl/xp_ssl.c
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants