]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
mod_sofia: fix segfault on refer with no content-type or body (SFSIP-153)
authorMichael Jerris <mike@jerris.com>
Mon, 22 Jun 2009 14:12:35 +0000 (14:12 +0000)
committerMichael Jerris <mike@jerris.com>
Mon, 22 Jun 2009 14:12:35 +0000 (14:12 +0000)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@13889 d0543943-73ff-0310-b7d9-9358b9ac24b2

src/mod/endpoints/mod_sofia/sofia.c

index ac5b1deee02a9969e43b9be664067678c8fda7ff..163ca791634fbc153bc59bd06e9c41359f64a463 100644 (file)
@@ -126,7 +126,11 @@ void sofia_handle_sip_i_notify(switch_core_session_t *session, int status,
        }
 
        /* For additional NOTIFY event packages see http://www.iana.org/assignments/sip-events. */
-       if (!strcasecmp(sip->sip_event->o_type, "refer")) {
+       if (sip->sip_content_type &&
+               sip->sip_content_type->c_type &&
+               sip->sip_payload &&
+               sip->sip_payload->pl_data &&
+               !strcasecmp(sip->sip_event->o_type, "refer")) {
                if (switch_event_create_subclass(&s_event, SWITCH_EVENT_CUSTOM, MY_EVENT_NOTIFY_REFER) == SWITCH_STATUS_SUCCESS) {
                        switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "content-type", sip->sip_content_type->c_type);
                        switch_event_add_body(s_event, "%s", sip->sip_payload->pl_data);