diff --git a/channels/chan_gtalk.c b/channels/chan_gtalk.c index 7ce00c55e7..5c40a55a95 100644 --- a/channels/chan_gtalk.c +++ b/channels/chan_gtalk.c @@ -877,10 +877,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;