Skip to content

Conversation

@richardleach
Copy link
Contributor

GH #16885 is a fuzzer-identified assert in Perl_sv_grow. Besides the question of how the program should behave, the actual assertion comes via the SvPVCLEAR() statement in CLEAR_ERRSV, where svp is unexpectedly a PVGV with GV. This commit treats this the same as if svp was READONLY - the refcount is decremented and svp assigned a brand new SVt_PV.

(I don't know whether #16885 should remain open until any other appropriate behaviour is decided.)


  • This set of changes does not require a perldelta entry.

@richardleach
Copy link
Contributor Author

Not sure where the test should go!

@tonycoz
Copy link
Contributor

tonycoz commented Oct 2, 2025

Not sure where the test should go!

dfd167e added the readonly $@ tests to t/op/eval.t

The fix looks reasonable to me.

GH Perl#16885 is a fuzzer-identified assert in Perl_sv_grow. Besides the
question of how the program should behave, the actual assertion comes
via the `SvPVCLEAR()` statement in `CLEAR_ERRSV`, where `svp` is
unexpectedly a PVGV with GV. This commit treats this the same as if
`svp` was READONLY - the refcount is decremented and `svp` assigned
a brand new SVt_PV.
@richardleach richardleach merged commit b7b77ff into Perl:blead Oct 3, 2025
33 checks passed
@richardleach richardleach deleted the CLEAR_ERRSV_16885 branch October 3, 2025 08:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants