diff --git a/channels/chan_agent.c b/channels/chan_agent.c index 0b15903419..3451de2206 100644 --- a/channels/chan_agent.c +++ b/channels/chan_agent.c @@ -2298,7 +2298,9 @@ static int function_agent(struct ast_channel *chan, const char *cmd, char *data, } } else if (!strcasecmp(args.item, "fullchannel")) { if (agent->chan) { + ast_channel_lock(agent->chan); ast_copy_string(buf, agent->chan->name, len); + ast_channel_unlock(agent->chan); } } else if (!strcasecmp(args.item, "exten")) { buf[0] = '\0';