summaryrefslogtreecommitdiff
path: root/universal.c
diff options
context:
space:
mode:
authorNicholas Clark <nick@ccl4.org>2007-03-02 14:42:27 +0000
committerNicholas Clark <nick@ccl4.org>2007-03-02 14:42:27 +0000
commit9e0d86f862e086b0fde6b64ca39c85508bf50910 (patch)
treebdbcc13f4e388616629b43018a0c457c375f8cf5 /universal.c
parent06be3b4087230d77129ccda5ba56e0397c241c48 (diff)
downloadperl-9e0d86f862e086b0fde6b64ca39c85508bf50910.tar.gz
More assertion failures, found by auditing the code.
p4raw-id: //depot/perl@30443
Diffstat (limited to 'universal.c')
-rw-r--r--universal.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/universal.c b/universal.c
index d07ff2fd11..f06596517a 100644
--- a/universal.c
+++ b/universal.c
@@ -62,7 +62,7 @@ S_isa_lookup(pTHX_ HV *stash, const char *name, const HV* const name_stash,
gvp = (GV**)hv_fetchs(stash, "::ISA::CACHE::", FALSE);
- if (gvp && (gv = *gvp) != (GV*)&PL_sv_undef && (subgen = GvSV(gv))
+ if (gvp && (gv = *gvp) && isGV_with_GP(gv) && (subgen = GvSV(gv))
&& (hv = GvHV(gv)))
{
if (SvIV(subgen) == (IV)PL_sub_generation) {
@@ -87,7 +87,7 @@ S_isa_lookup(pTHX_ HV *stash, const char *name, const HV* const name_stash,
gvp = (GV**)hv_fetchs(stash, "ISA", FALSE);
- if (gvp && (gv = *gvp) != (GV*)&PL_sv_undef && (av = GvAV(gv))) {
+ if (gvp && (gv = *gvp) && isGV_with_GP(gv) && (av = GvAV(gv))) {
if (!hv || !subgen) {
gvp = (GV**)hv_fetchs(stash, "::ISA::CACHE::", TRUE);