From: Matthew Jordan Date: Sat, 28 Sep 2013 20:27:23 +0000 (+0000) Subject: manager: Fix crash when appending a manager channel variable X-Git-Tag: 13.0.0-beta1~1036 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=2ef63eaf3402575706533eb400c09eb3bebe6c48;p=thirdparty%2Fasterisk.git 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. ........ Merged revisions 400058 from http://svn.asterisk.org/svn/asterisk/branches/12 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@400059 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- 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); }