Open p5pRT opened 5 years ago
While fuzzing perl v5.29.8-21-gde59f38ed9 built with afl and run under libdislocator\, I found the following program
s((?{my sub f})())00
to cause an assertion failure:
perl: regexec.c:7295: ssize_t S_regmatch(regmatch_info *\, char *\, regnode *): Assertion `o->op_type == OP_NEXTSTATE || o->op_type == OP_DBSTATE || (o->op_type == OP_NULL && ( o->op_targ == OP_NEXTSTATE || o->op_targ == OP_DBSTATE ) )' failed.
GDB stack trace is following:
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1 0x00007ffff7c25535 in __GI_abort () at abort.c:79
#2 0x00007ffff7c2540f in __assert_fail_base (fmt=0x7ffff7d87ee0
"%s%s%s:%u: %s%sAssertion `%s' failed.\n%n"\,
assertion=0x10ec280 \<.str.318> "o->op_type == OP_NEXTSTATE ||
o->op_type == OP_DBSTATE || (o->op_type == OP_NULL && ( o->op_targ ==
OP_NEXTSTATE || o->op_targ == OP_DBSTATE ) )"\, file=0x10ca1e0 \<.str.2>
"regexec.c"\, line=7295\, function=\
I looked at this\, and this failure appears to have been there since the lexical subs feature was added in 5.18 -- Karl Williamson
The RT System itself - Status changed from 'new' to 'open'
Migrated from rt.perl.org#133885 (status was 'open')
Searchable as RT133885$