[sr-dev] git:ser_modules: presence_b2b: fix from & to header access

Andrei Pelinescu-Onciul andrei at iptel.org
Fri Jul 17 17:40:13 CEST 2009


Module: sip-router
Branch: ser_modules
Commit: ee6eee271dceec6e1d4d581edd389687697ccdc7
URL:    http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=ee6eee271dceec6e1d4d581edd389687697ccdc7

Author: Andrei Pelinescu-Onciul <andrei at iptel.org>
Committer: Andrei Pelinescu-Onciul <andrei at iptel.org>
Date:   Tue Jul 14 07:36:51 2009 +0000

presence_b2b: fix from & to header access

Access the parsed part of a From or To header only if non-zero
and/or parse_from_header() returned success.

---

 modules_s/presence_b2b/euac_funcs.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/modules_s/presence_b2b/euac_funcs.c b/modules_s/presence_b2b/euac_funcs.c
index 04313c9..b147ffa 100644
--- a/modules_s/presence_b2b/euac_funcs.c
+++ b/modules_s/presence_b2b/euac_funcs.c
@@ -34,8 +34,10 @@ events_uac_t *find_euac_nolock(struct sip_msg *m)
 	parse_from_header(m);
 	
 	memset(&id, 0, sizeof(id));
-	if (m->to) id.loc_tag = ((struct to_body*)m->to->parsed)->tag_value;
-	if (m->from) id.rem_tag = ((struct to_body*)m->from->parsed)->tag_value;
+	if (m->to && m->to->parsed) 
+		id.loc_tag = ((struct to_body*)m->to->parsed)->tag_value;
+	if (parse_from_header(m)==0 && m->from->parsed)
+		id.rem_tag = ((struct to_body*)m->from->parsed)->tag_value;
 	if (m->callid) id.call_id = m->callid->body;
 
 	uac = (events_uac_t*)ht_find(&euac_internals->ht_confirmed, &id);




More information about the sr-dev mailing list