summaryrefslogtreecommitdiff
path: root/gv.c
diff options
context:
space:
mode:
authorNicholas Clark <nick@ccl4.org>2006-06-11 20:52:36 +0000
committerNicholas Clark <nick@ccl4.org>2006-06-11 20:52:36 +0000
commite7f343b6de977b5993b7a5a4707f5051ea388ff2 (patch)
tree184de79fcc66ba94d970ca6590d5d0a2b77033a5 /gv.c
parentb1366aafc0ae88aa629334eee83ef65c43f75718 (diff)
downloadperl-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.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/gv.c b/gv.c
index 746b2bb35a..1c8d981741 100644
--- a/gv.c
+++ b/gv.c
@@ -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;