sv.c:2941: Perl_sv_2pv_flags: Assertion `SvTYPE(sv) != SVt_PVAV && SvTYPE(sv) != SVt_PVHV && SvTYPE(sv) != SVt_PVFM' failed #15859
Created by @dur-randir
While fuzzing perl v5.25.9-35-g32207c637b built with afl and run
warn(0->[0 =~ qr/1/ ~~ 0])
to cause an assertion failure. GDB info about the crash location:
On Thu, 02 Feb 2017 12:24:54 -0800, randir wrote:
Perl_ck_smartmatch was converting the match operator from
0 =~ qr/1/
into a qr// operator, this is fine for a match without =~, but
Fixed in d6851fe.
I used print() in the tests to simplify them.
Thank you for filing this report. You have helped make Perl better.
With the release today of Perl 5.26.0, this and 210 other issues have been
Perl 5.26.0 may be downloaded via:
If you find that the problem persists, feel free to reopen this ticket.