develooper Front page | perl.perl5.porters | Postings from October 2011

[perl #101430] Bleadperl v5.15.3-244-gaa33328 breaks ASG/List-Gen-0.973.tar.gz

Thread Previous | Thread Next
From:
Father Chrysostomos via RT
Date:
October 16, 2011 13:11
Subject:
[perl #101430] Bleadperl v5.15.3-244-gaa33328 breaks ASG/List-Gen-0.973.tar.gz
Message ID:
rt-3.6.HEAD-31297-1318795895-1633.101430-15-0@perl.org
On Sun Oct 16 12:49:06 2011, sprout wrote:
> On Sun Oct 16 00:56:56 2011, andreas.koenig.7os6VVqR@franz.ak.mind.de
wrote:
> > git bisect
> > ----------
> > commit aa33328e822d3a36d7448488403f30a991f148b2
> > Author: Brian Fraser <fraserbn@gmail.com>
> > Date:   Sat Jul 23 18:48:51 2011 -0300
> > 
> >     util.c for threads: stashpv_hvname_match UTF8 cleanup.
> 
> In the diff shown below, the null checks (stashpv && name) are removed.
>  I should have noticed that when I applied it, so it’s partly my fault.
> 
> Before I go and fix this, though, I suspect there is a bug elsewhere, as
> PL_curstash is set to an undefined *scalar* at the time this is called.

List::Generator contains this code:

package List::Generator;
BEGIN {require List::Gen}

List::Gen does *List::Generator:: = *List::Gen::;

So when ‘require List::Gen’ finishes, PL_curstash points to an SV that
has been freed and re-used.  That explains why name can be null in
stashpv_hvname_match.  But that’s a separate bug.  stashpv_hvname_match
is an API function, so it should continue to check for nulls.  I’ll have
it fixed soon....


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