diff options
author | Richard Mudgett <rmudgett@digium.com> | 2016-06-22 18:02:59 -0500 |
---|---|---|
committer | Richard Mudgett <rmudgett@digium.com> | 2016-06-30 15:40:38 -0500 |
commit | 656ed73ac686f2e7d4afcbd46a4a04086a3502c6 (patch) | |
tree | b4dbcd171566e97c89efa9a7b884efcd68028fae /res | |
parent | 5ad7e1c09a7db698f0e4dd95f9153a70f8a1c667 (diff) |
res_pjsip: Add missing NULL checks when using pjsip_inv_end_session().
pjsip_inv_end_session() is documented as being able to return the
passed in tdata parameter set to NULL on success.
Change-Id: I09d53725c49b7183c41bfa1be3ff225f3a8d3047
Diffstat (limited to 'res')
-rw-r--r-- | res/res_pjsip_refer.c | 3 | ||||
-rw-r--r-- | res/res_pjsip_session.c | 6 |
2 files changed, 6 insertions, 3 deletions
diff --git a/res/res_pjsip_refer.c b/res/res_pjsip_refer.c index df5425179..1043a1e24 100644 --- a/res/res_pjsip_refer.c +++ b/res/res_pjsip_refer.c @@ -969,7 +969,8 @@ inv_replace_failed: session->defer_terminate = 1; ast_hangup(session->channel); - if (pjsip_inv_end_session(session->inv_session, response, NULL, &packet) == PJ_SUCCESS) { + if (pjsip_inv_end_session(session->inv_session, response, NULL, &packet) == PJ_SUCCESS + && packet) { ast_sip_session_send_response(session, packet); } } else { diff --git a/res/res_pjsip_session.c b/res/res_pjsip_session.c index eb9551097..6287c17ec 100644 --- a/res/res_pjsip_session.c +++ b/res/res_pjsip_session.c @@ -2651,7 +2651,8 @@ static void session_inv_on_tsx_state_changed(pjsip_inv_session *inv, pjsip_trans } if (tsx->status_code != 488) { /* Other reinvite failures (except 488) result in destroying the session. */ - if (pjsip_inv_end_session(inv, 500, NULL, &tdata) == PJ_SUCCESS) { + if (pjsip_inv_end_session(inv, 500, NULL, &tdata) == PJ_SUCCESS + && tdata) { ast_sip_session_send_request(session, tdata); } } @@ -2664,7 +2665,8 @@ static void session_inv_on_tsx_state_changed(pjsip_inv_session *inv, pjsip_trans * a cancelled call. Our role is to immediately send a BYE to end the * dialog. */ - if (pjsip_inv_end_session(inv, 500, NULL, &tdata) == PJ_SUCCESS) { + if (pjsip_inv_end_session(inv, 500, NULL, &tdata) == PJ_SUCCESS + && tdata) { ast_sip_session_send_request(session, tdata); } } |