Update of /usr/cvsroot/asterisk/channels
In directory localhost.localdomain:/tmp/cvs-serv3081/channels

Modified Files:
        chan_sip.c 
Log Message:
don't segfault when peer doesn't send Referred-By (bug #4588)


Index: chan_sip.c
===================================================================
RCS file: /usr/cvsroot/asterisk/channels/chan_sip.c,v
retrieving revision 1.773
retrieving revision 1.774
diff -u -d -r1.773 -r1.774
--- chan_sip.c  5 Jul 2005 17:16:16 -0000       1.773
+++ chan_sip.c  6 Jul 2005 01:45:23 -0000       1.774
@@ -5909,9 +5909,11 @@
                referred_by = NULL;
        }
 
-       refer_to += 4;
-       referred_by += 4;
-       
+       if (refer_to)
+               refer_to += 4;
+
+       if (referred_by)
+               referred_by += 4;
        
        if ((ptr = strchr(refer_to, '?'))) {
                /* Search for arguments */
@@ -5982,7 +5984,8 @@
                        ast_log(LOG_DEBUG,"Transferred by  (Referred-by: ) %s 
\n", referred_by);
                ast_log(LOG_DEBUG,"Transfer Contact Info %s (REFER_CONTACT)\n", 
h_contact);
                ast_copy_string(sip_pvt->refer_to, refer_to, 
sizeof(sip_pvt->refer_to));
-               ast_copy_string(sip_pvt->referred_by, referred_by, 
sizeof(sip_pvt->referred_by));
+               if (referred_by)
+                       ast_copy_string(sip_pvt->referred_by, referred_by, 
sizeof(sip_pvt->referred_by));
                if (h_contact) {
                        ast_copy_string(sip_pvt->refer_contact, h_contact, 
sizeof(sip_pvt->refer_contact));
                }

_______________________________________________
Asterisk-Cvs mailing list
[email protected]
http://lists.digium.com/mailman/listinfo/asterisk-cvs

Reply via email to