From 7ce46f2a0128e34d69ce27707a88af47a4f0160b Mon Sep 17 00:00:00 2001 From: Gerard Goossen Date: Thu, 12 Nov 2009 14:36:44 +0100 Subject: [PATCH] Add missing LEAVE to universal.c sv_does --- universal.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/universal.c b/universal.c index 4da6fc5..941587d 100644 --- a/universal.c +++ b/universal.c @@ -172,8 +172,10 @@ Perl_sv_does(pTHX_ SV *sv, const char *const name) SvGETMAGIC(sv); if (!SvOK(sv) || !(SvROK(sv) || (SvPOK(sv) && SvCUR(sv)) - || (SvGMAGICAL(sv) && SvPOKp(sv) && SvCUR(sv)))) + || (SvGMAGICAL(sv) && SvPOKp(sv) && SvCUR(sv)))) { + LEAVE; return FALSE; + } if (sv_isobject(sv)) { classname = sv_reftype(SvRV(sv),TRUE); @@ -181,8 +183,10 @@ Perl_sv_does(pTHX_ SV *sv, const char *const name) classname = SvPV_nolen(sv); } - if (strEQ(name,classname)) + if (strEQ(name,classname)) { + LEAVE; return TRUE; + } PUSHMARK(SP); XPUSHs(sv); -- 1.8.3.1