develooper Front page | perl.perl5.porters | Postings from April 2016

Re: [perl #72330] assertion failures when running with -t switch andtainted @INC

Thread Previous | Thread Next
From:
Niko Tyni
Date:
April 29, 2016 06:23
Subject:
Re: [perl #72330] assertion failures when running with -t switch andtainted @INC
Message ID:
20160429062341.GA7242@estella.local.invalid
On Sun, Jan 24, 2010 at 11:02:46AM -0800, Niko Tyni wrote:
> # New Ticket Created by  Niko Tyni 
> # Please include the string:  [perl #72330]
> # in the subject line of all future correspondence about this issue. 
> # <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=72330 >
> 
> A suitable combination of tainted @INC, the '-t' switch and stubs for
> undefined constants causes an assertion failure with -DDEBUGGING and
> intermittent segmentation faults otherwise.
> 
> Originally reported as http://bugs.debian.org/565703, reproducible
> on current bleadperl:
> 
> % ./perl -t -Ilib -e 'unshift @INC, shift; require Fcntl' foo
> Insecure dependency in require while running with -t switch at -e line 1.
> Insecure dependency in require while running with -t switch at -e line 1.
> Insecure dependency in require while running with -t switch at lib/Fcntl.pm line 58.
> Insecure dependency in require while running with -t switch at lib/Fcntl.pm line 58.
> Insecure dependency in require while running with -t switch at lib/Fcntl.pm line 58.
> Insecure dependency in require while running with -t switch at lib/Fcntl.pm line 62.
> Insecure dependency in require while running with -t switch at lib/Fcntl.pm line 62.
> Insecure dependency in require while running with -t switch at lib/Fcntl.pm line 62.
> perl: gv.c:241: Perl_gv_init: Assertion `!((gv)->sv_flags & 0x00004000)' failed.
> zsh: abort (core dumped)  ./perl -t -Ilib -e 'unshift @INC, shift; require Fcntl' foo

This crash seems to have been fixed since. Bisecting gives

commit 0f94cb1fe27e58a59d3391214dab34037ab184db
Author: Father Chrysostomos <sprout@cpan.org>
Date:   Thu Nov 27 22:30:54 2014 -0800

    [perl #123223] Make PADNAME a separate type
    
    distinct from SV.  This should fix the CPAN modules that were failing
    when the PadnameLVALUE flag was added, because it shared the same
    bit as SVs_OBJECT and pad names were going through code paths not
    designed to handle pad names.
    
    Unfortunately, it will probably break other CPAN modules, but I think
    this change is for the better, as it makes both pad names and SVs sim-
    pler and makes pad names take less memory.

So this ticket can probably be closed?

Thanks,
-- 
Niko Tyni   ntyni@debian.org

Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About