Skip Menu |
Report information
Id: 123817
Status: resolved
Priority: 0/
Queue: perl5

Owner: Nobody
Requestors: hv <hv [at] crypt.org>
Cc:
AdminCc:

Operating System: (no value)
PatchStatus: (no value)
Severity: low
Type: unknown
Perl Version: (no value)
Fixed In: 5.22.0



Subject: attribute on lexical introduced in hash constructor
Download (untitled) / with headers
text/plain 559b
AFL (<http://lcamtuf.coredump.cx/afl>) finds this: % ./perl -e '$y = { my $x : m }' Invalid SCALAR attribute: m at -e line 1. perl: op.c:721: Perl_op_free: Assertion `!(o->op_private & ~PL_op_private_valid[type])' failed. Aborted (core dumped) % This is OPpLVAL_INTRO set on the initial OP_LIST by my_attrs, preserved when it's converted by newANONHASH. I suspect at least newANONLIST() and newANONHASH() should simply clear that flag, but I'm not sure what if any impact that might have, and not sure if any of the other op_convert_list() callers should.
RT-Send-CC: perl5-porters [...] perl.org
Download (untitled) / with headers
text/plain 725b
On Fri Feb 13 06:28:39 2015, hv wrote: Show quoted text
> AFL (<http://lcamtuf.coredump.cx/afl>) finds this: > > % ./perl -e '$y = { my $x : m }' > Invalid SCALAR attribute: m at -e line 1. > perl: op.c:721: Perl_op_free: Assertion `!(o->op_private & > ~PL_op_private_valid[type])' failed. > Aborted (core dumped) > % > > This is OPpLVAL_INTRO set on the initial OP_LIST by my_attrs, > preserved when it's converted by newANONHASH. > > I suspect at least newANONLIST() and newANONHASH() should simply clear > that flag, but I'm not sure what if any impact that might have, and > not sure if any of the other op_convert_list() callers should.
I fixed this in 6b2b48ac by turning off the flag in op_convert_list. -- Father Chrysostomos
Download (untitled) / with headers
text/plain 200b
Thank you for submitting this ticket. The issue should now be resolved with the release today of Perl v5.22, which is available at http://www.perl.org/get.html -- Karl Williamson for the Perl 5 team


This service is sponsored and maintained by Best Practical Solutions and runs on Perl.org infrastructure.

For issues related to this RT instance (aka "perlbug"), please contact perlbug-admin at perl.org