diff options
author | Nicholas Clark <nick@ccl4.org> | 2006-06-11 20:52:36 +0000 |
---|---|---|
committer | Nicholas Clark <nick@ccl4.org> | 2006-06-11 20:52:36 +0000 |
commit | e7f343b6de977b5993b7a5a4707f5051ea388ff2 (patch) | |
tree | 184de79fcc66ba94d970ca6590d5d0a2b77033a5 /gv.c | |
parent | b1366aafc0ae88aa629334eee83ef65c43f75718 (diff) | |
download | perl-e7f343b6de977b5993b7a5a4707f5051ea388ff2.tar.gz |
A little more work needed to get ext/re/t/re.t test 14 (no segv) passing
with PERL_DESTRUCT_LEVEL=2.
p4raw-id: //depot/perl@28378
Diffstat (limited to 'gv.c')
-rw-r--r-- | gv.c | 8 |
1 files changed, 7 insertions, 1 deletions
@@ -943,10 +943,16 @@ Perl_gv_fetchpvn_flags(pTHX_ const char *nambeg, STRLEN full_len, I32 flags, : sv_type == SVt_PVAV ? "@" : sv_type == SVt_PVHV ? "%" : ""), name); + GV *gv; if (USE_UTF8_IN_NAMES) SvUTF8_on(err); qerror(err); - stash = GvHV(gv_fetchpvn_flags("<none>::", 8, GV_ADDMULTI, SVt_PVHV)); + gv = gv_fetchpvn_flags("<none>::", 8, GV_ADDMULTI, SVt_PVHV); + if(!gv) { + /* symbol table under destruction */ + return NULL; + } + stash = GvHV(gv); } else return NULL; |