]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Need to lock the agent chan before access its internal bits.
authorJason Parker <jparker@digium.com>
Wed, 16 Jun 2010 21:10:09 +0000 (21:10 +0000)
committerJason Parker <jparker@digium.com>
Wed, 16 Jun 2010 21:10:09 +0000 (21:10 +0000)
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

channels/chan_agent.c

index a8fca172445db383b40bd2599207287a6c63e0a7..7bbee404a1103b990f0cd316401c14b67b67955a 100644 (file)
@@ -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';