From: Jason Parker Date: Wed, 16 Jun 2010 21:11:28 +0000 (+0000) Subject: Merged revisions 270981 via svnmerge from X-Git-Tag: 1.6.2.10-rc1~35 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9da500597bddd84f3c2fc0fb13bf7e781869edf9;p=thirdparty%2Fasterisk.git Merged revisions 270981 via svnmerge from https://origsvn.digium.com/svn/asterisk/trunk ................ r270981 | qwell | 2010-06-16 16:10:48 -0500 (Wed, 16 Jun 2010) | 11 lines Merged revisions 270980 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r270980 | qwell | 2010-06-16 16:10:09 -0500 (Wed, 16 Jun 2010) | 4 lines Need to lock the agent chan before access its internal bits. Pointed out by russellb on asterisk-dev mailing list. ........ ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@270982 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/channels/chan_agent.c b/channels/chan_agent.c index e4706ac78c..ddfb74ae29 100644 --- a/channels/chan_agent.c +++ b/channels/chan_agent.c @@ -2538,7 +2538,9 @@ static int function_agent(struct ast_channel *chan, const char *cmd, char *data, ast_copy_string(buf, agent->moh, len); else if (!strcasecmp(args.item, "channel")) { if (agent->chan) { + ast_channel_lock(agent->chan); ast_copy_string(buf, agent->chan->name, len); + ast_channel_unlock(agent->chan); tmp = strrchr(buf, '-'); if (tmp) *tmp = '\0';