From 122b11ec211c76c2095edec8260b20689b1f63d0 Mon Sep 17 00:00:00 2001
From: Mark Spencer <markster@digium.com>
Date: Sat, 15 Jan 2005 06:37:51 +0000
Subject: [PATCH] Handle masq properly when clone channel has no vars (bug
 3344)

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4796 65c4cc65-6c06-0410-ace0-fbb531ad65f3
---
 channel.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/channel.c b/channel.c
index 24a9351515..0d1c5da06b 100755
--- a/channel.c
+++ b/channel.c
@@ -2317,7 +2317,8 @@ static void clone_variables(struct ast_channel *original, struct ast_channel *cl
 
 	/* Append variables from clone channel into original channel */
 	/* XXX Is this always correct?  We have to in order to keep MACROS working XXX */
-	AST_LIST_INSERT_TAIL(&original->varshead, AST_LIST_FIRST(&clone->varshead), entries);
+	if (AST_LIST_FIRST(&clone->varshead))
+		AST_LIST_INSERT_TAIL(&original->varshead, AST_LIST_FIRST(&clone->varshead), entries);
 }
 
 /* Assumes channel will be locked when called */
-- 
GitLab