From a1c1fc3538aa3e524611fc5695a8c7d1ae8a4ee9 Mon Sep 17 00:00:00 2001 From: Matthew Jordan Date: Sat, 28 Sep 2013 20:20:42 +0000 Subject: [PATCH] manager: Fix crash when appending a manager channel variable In r399887, a minor performance improvement was introduced by not allocating the manager variable struct if it wasn't used. Unfortunately, when directly accessing an ast_channel struct, manager assumed that the struct was always allocated. Since this was no longer the case, things got a bit crashy. This fixes that problem by simply bypassing appending variables if the manager channel variable struct isn't there. git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@400058 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- main/manager.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/main/manager.c b/main/manager.c index c8b0e4708e..00649dafaa 100644 --- a/main/manager.c +++ b/main/manager.c @@ -5934,6 +5934,10 @@ static void append_channel_vars(struct ast_str **pbuf, struct ast_channel *chan) vars = ast_channel_get_manager_vars(chan); + if (!vars) { + return; + } + AST_LIST_TRAVERSE(vars, var, entries) { ast_str_append(pbuf, 0, "ChanVariable(%s): %s=%s\r\n", ast_channel_name(chan), var->name, var->value); }