Module: sip-router
Branch: master
Commit: abf0026782c0ba4643feb25ded022e8c12725584
URL:
http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=abf0026…
Author: Victor Seva <linuxmaniac(a)torreviejawireless.org>
Committer: Victor Seva <linuxmaniac(a)torreviejawireless.org>
Date: Mon Sep 9 16:52:47 2013 +0200
uac_redirect: get_redirect() check reason value before using it.
This fix a core dump when get_redirects() config fuction is called with just
the one parameter.
---
modules/uac_redirect/rd_funcs.c | 9 ++++++---
1 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/modules/uac_redirect/rd_funcs.c b/modules/uac_redirect/rd_funcs.c
index ca34e0c..aa8dbd0 100644
--- a/modules/uac_redirect/rd_funcs.c
+++ b/modules/uac_redirect/rd_funcs.c
@@ -96,9 +96,12 @@ int get_redirect( struct sip_msg *msg , int maxt, int maxb,
}
if (max==0)
continue;
- /* put the response code into the acc_param reason struct */
- reason->code = t->uac[i].last_received;
- reason->code_s.s = int2bstr((unsigned long)reason->code, code_buf,
&reason->code_s.len);
+ if(reason!=NULL)
+ {
+ /* put the response code into the acc_param reason struct */
+ reason->code = t->uac[i].last_received;
+ reason->code_s.s = int2bstr((unsigned long)reason->code, code_buf,
&reason->code_s.len);
+ }
/* get the contact from it */
n = shmcontact2dset( msg, t->uac[i].reply, max, reason, bflags);
if ( n<0 ) {