diff --git a/channel.c b/channel.c index 24a935151567db4697fb2b0012caea01442f729b..0d1c5da06b0800dbfa221495c9af20b24d652828 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 */