diff options
author | qwell <qwell@f38db490-d61c-443f-a65b-d21fe96a405b> | 2007-06-27 17:10:32 +0000 |
---|---|---|
committer | qwell <qwell@f38db490-d61c-443f-a65b-d21fe96a405b> | 2007-06-27 17:10:32 +0000 |
commit | eca8e139a32d0f4f5ef7344f859aa9dc7cccda1d (patch) | |
tree | 80f7f2456cbd9a84caab92c4f83112b29ecc0b9e /channels/chan_gtalk.c | |
parent | 866ad4cd51536ce7b85ea3143d86f97a248bf946 (diff) |
Don't modify a variable that we don't want modified. Make a copy of it instead.
Issue 10029, patch by phsultan with slight modifications by me (to remove needless casts).
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@72125 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels/chan_gtalk.c')
-rw-r--r-- | channels/chan_gtalk.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/channels/chan_gtalk.c b/channels/chan_gtalk.c index ee17113e3..6ccadbae7 100644 --- a/channels/chan_gtalk.c +++ b/channels/chan_gtalk.c @@ -963,15 +963,14 @@ static struct ast_channel *gtalk_new(struct gtalk *client, struct gtalk_pvt *i, /* Don't use ast_set_callerid() here because it will * generate a needless NewCallerID event */ if (!strcasecmp(client->name, "guest")) { - if (strchr(i->them, '/')) { - char *aux; - data = ast_strdupa((char *)i->them); - aux = data; - cid = strsep(&aux, "/"); + data = ast_strdupa(i->them); + if (strchr(data, '/')) { + cid = strsep(&data, "/"); } else - cid = i->them; + cid = data; } else { - cid = client->user; + data = ast_strdupa(client->user); + cid = data; } cid = strsep(&cid, "@"); tmp->cid.cid_num = ast_strdup(cid); |