dcb3b7
From e7e69c85c7e8e0cb75b831e606ad4f26f18b11ff Mon Sep 17 00:00:00 2001
dcb3b7
From: Nicolas R <atoomic@cpan.org>
dcb3b7
Date: Mon, 31 Oct 2016 11:53:17 -0600
dcb3b7
Subject: [PATCH] Avoid a segfault when untying an object
dcb3b7
MIME-Version: 1.0
dcb3b7
Content-Type: text/plain; charset=UTF-8
dcb3b7
Content-Transfer-Encoding: 8bit
dcb3b7
dcb3b7
Check if the tied object has a stash set
dcb3b7
before calling UNTIE method.
dcb3b7
dcb3b7
Signed-off-by: Petr Písař <ppisar@redhat.com>
dcb3b7
---
dcb3b7
 pp_sys.c | 2 +-
dcb3b7
 1 file changed, 1 insertion(+), 1 deletion(-)
dcb3b7
dcb3b7
diff --git a/pp_sys.c b/pp_sys.c
dcb3b7
index 672e7de08e..6d4dd86b7f 100644
dcb3b7
--- a/pp_sys.c
dcb3b7
+++ b/pp_sys.c
dcb3b7
@@ -1017,7 +1017,7 @@ PP(pp_untie)
dcb3b7
 
dcb3b7
     if ((mg = SvTIED_mg(sv, how))) {
dcb3b7
 	SV * const obj = SvRV(SvTIED_obj(sv, mg));
dcb3b7
-        if (obj) {
dcb3b7
+        if (obj && SvSTASH(obj)) {
dcb3b7
 	    GV * const gv = gv_fetchmethod_autoload(SvSTASH(obj), "UNTIE", FALSE);
dcb3b7
 	    CV *cv;
dcb3b7
 	    if (gv && isGV(gv) && (cv = GvCV(gv))) {
dcb3b7
-- 
dcb3b7
2.13.6
dcb3b7