mirror of
https://github.com/asterisk/asterisk.git
synced 2025-10-02 10:22:46 +00:00
res_pjsip_session.c: Fix crashes seen when call cancelled.
Two testsuite tests crashed in the same place as a result of an INVITE being CANCELed. tests/channels/pjsip/resolver/srv/failover/in_dialog/transport_unspecified tests/channels/pjsip/resolver/srv/failover/in_dialog/transport_tcp The session pointer is no longer in the inv->mod_data[session_module.id] location because the INVITE transaction has reached the terminated state. ASTERISK-25297 #close Reported by: Richard Mudgett Change-Id: Idb75fdca0321f5447d5dac737a632a5f03614427
This commit is contained in:
@@ -2681,8 +2681,10 @@ static void session_inv_on_media_update(pjsip_inv_session *inv, pj_status_t stat
|
|||||||
struct ast_sip_session *session = inv->mod_data[session_module.id];
|
struct ast_sip_session *session = inv->mod_data[session_module.id];
|
||||||
const pjmedia_sdp_session *local, *remote;
|
const pjmedia_sdp_session *local, *remote;
|
||||||
|
|
||||||
if (!session->channel) {
|
if (!session || !session->channel) {
|
||||||
/* If we don't have a channel. We really don't care about media updates.
|
/*
|
||||||
|
* If we don't have a session or channel then we really
|
||||||
|
* don't care about media updates.
|
||||||
* Just ignore
|
* Just ignore
|
||||||
*/
|
*/
|
||||||
return;
|
return;
|
||||||
|
Reference in New Issue
Block a user