From: Jason Parker Date: Wed, 16 Jun 2010 21:10:09 +0000 (+0000) Subject: Need to lock the agent chan before access its internal bits. X-Git-Tag: 1.4.34-rc1~2^2~23 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=25a613a993f32ad836a5a0717f15e95630db7296;p=thirdparty%2Fasterisk.git 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.4@270980 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/channels/chan_agent.c b/channels/chan_agent.c index a8fca17244..7bbee404a1 100644 --- a/channels/chan_agent.c +++ b/channels/chan_agent.c @@ -2790,7 +2790,9 @@ static int function_agent(struct ast_channel *chan, char *cmd, char *data, char 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';