From e88beedd0845aa18a2f5594c6638d443399c93a9 Mon Sep 17 00:00:00 2001
From: George Joseph <gjoseph@digium.com>
Date: Thu, 9 Jul 2020 08:56:50 -0600
Subject: [PATCH] res_pjsip_session: Fix segv in session_on_rx_response

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 | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/res/res_pjsip_session.c b/res/res_pjsip_session.c
index 0cf0c8a0a6..33bfd21c31 100644
--- a/res/res_pjsip_session.c
+++ b/res/res_pjsip_session.c
@@ -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);
-- 
GitLab