From 1dc0a2d811fd02e073d9b3003b3956621cff91b1 Mon Sep 17 00:00:00 2001 From: Terry Wilson Date: Tue, 13 Jan 2009 18:34:14 +0000 Subject: [PATCH] Don't pass a value with a side effect to a macro (closes issue #14176) Reported by: paraeco Patches: chan_sip.c.diff uploaded by paraeco (license 658) git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@168551 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- channels/chan_sip.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 5d8ed871f0..004aaaabec 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -7753,6 +7753,8 @@ static int transmit_register(struct sip_registry *r, int sipmethod, const char * } if ((fromdomain = strchr(r->username, '@'))) { + /* the domain name is just behind '@' */ + fromdomain++ ; /* We have a domain in the username for registration */ snprintf(from, sizeof(from), ";tag=%s", r->username, p->tag); if (!ast_strlen_zero(p->theirtag)) @@ -7763,7 +7765,7 @@ static int transmit_register(struct sip_registry *r, int sipmethod, const char * /* If the registration username contains '@', then the domain should be used as the equivalent of "fromdomain" for the registration */ if (ast_strlen_zero(p->fromdomain)) { - ast_string_field_set(p, fromdomain, ++fromdomain); + ast_string_field_set(p, fromdomain, fromdomain); } } else { snprintf(from, sizeof(from), ";tag=%s", r->username, p->tohost, p->tag);