]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
res_pjsip_session: Fix segv in session_on_rx_response
authorGeorge Joseph <gjoseph@digium.com>
Thu, 9 Jul 2020 14:56:50 +0000 (08:56 -0600)
committerGeorge Joseph <gjoseph@digium.com>
Thu, 9 Jul 2020 14:56:50 +0000 (08:56 -0600)
session_on_rx_response wasn't checking for a NULL dialog before
attempting to get the invite session from it.

Change-Id: Id13534375966cc2eb7f2b55717c9813c63c10065

res/res_pjsip_session.c

index 0cf0c8a0a6de7d7dfa049b95ab5c9541951ad50e..33bfd21c31ed8fef04c4446b49bb038b17461470 100644 (file)
@@ -3470,7 +3470,7 @@ static pj_bool_t session_on_rx_response(pjsip_rx_data *rdata)
 
        struct pjsip_status_line status = rdata->msg_info.msg->line.status;
        pjsip_dialog *dlg = pjsip_rdata_get_dlg(rdata);
-       pjsip_inv_session *inv_session = pjsip_dlg_get_inv_session(dlg);
+       pjsip_inv_session *inv_session = dlg ? pjsip_dlg_get_inv_session(dlg) : NULL;
        struct ast_sip_session *session = (inv_session ? inv_session->mod_data[session_module.id] : NULL);
        SCOPE_ENTER(1, "%s Method: %.*s Status: %d\n", ast_sip_session_get_name(session),
                (int)rdata->msg_info.cseq->method.name.slen, rdata->msg_info.cseq->method.name.ptr, status.code);