summaryrefslogtreecommitdiff
path: root/ext/B/B.xs
diff options
context:
space:
mode:
authorStephen McCamant <smcc@mit.edu>2004-12-28 02:13:50 -0800
committerRafael Garcia-Suarez <rgarciasuarez@gmail.com>2005-02-18 15:48:51 +0000
commit5464c1495ed0e2dec7738478e7bb89ce97a68c52 (patch)
tree2e3bf978cc2f085851b97437c79db65d0f16a1aa /ext/B/B.xs
parent8e6a5f51ce130bc855c9ce739a2ac67752f39617 (diff)
downloadperl-5464c1495ed0e2dec7738478e7bb89ce97a68c52.tar.gz
[perl #32968] [PATCH] Re: B::walkoptree segfaults
Message-ID: <16849.41566.887352.677148@apocalypse.OCF.Berkeley.EDU> p4raw-id: //depot/perl@23983
Diffstat (limited to 'ext/B/B.xs')
-rw-r--r--ext/B/B.xs4
1 files changed, 2 insertions, 2 deletions
diff --git a/ext/B/B.xs b/ext/B/B.xs
index 63f5a99fa3..107d3a6cce 100644
--- a/ext/B/B.xs
+++ b/ext/B/B.xs
@@ -408,10 +408,10 @@ walkoptree(pTHX_ SV *opsv, char *method)
walkoptree(aTHX_ opsv, method);
}
}
- if (o && (cc_opclass(aTHX_ o) == OPc_PMOP)
+ if (o && (cc_opclass(aTHX_ o) == OPc_PMOP) && o->op_type != OP_PUSHRE
&& (kid = cPMOPo->op_pmreplroot))
{
- sv_setiv(newSVrv(opsv, opclassnames[OPc_PMOP]), PTR2IV(kid));
+ sv_setiv(newSVrv(opsv, cc_opclassname(aTHX_ kid)), PTR2IV(kid));
walkoptree(aTHX_ opsv, method);
}
}