diff --git a/channels/chan_gtalk.c b/channels/chan_gtalk.c index fa8b57e4e7..23feebc57b 100644 --- a/channels/chan_gtalk.c +++ b/channels/chan_gtalk.c @@ -879,10 +879,11 @@ static struct gtalk_pvt *gtalk_alloc(struct gtalk *client, const char *us, const if(strchr(tmp->us, '/')) { data = ast_strdupa((char *) tmp->us); exten = strsep(&data, "/"); - free(data); } else exten = tmp->us; ast_copy_string(tmp->exten, exten, sizeof(tmp->exten)); + if(data) + free(data); ast_mutex_init(&tmp->lock); ast_mutex_lock(>alklock); tmp->next = client->p;