res_pjsip_t38: Make t38_reinvite_response_cb tolerant of NULL channel

t38_reinvite_response_cb can get called by res_pjsip_session's
session_inv_on_tsx_state_changed in situations where session->channel
is NULL.  If it is, the ast_log warning segfaults because it tries
to get the channel name from a NULL channel.

* Check session->channel and print "unknown channel" when it's NULL.

ASTERISK-27236
Reported by: Ross Beer

Change-Id: I4326e288d36327f6c79ab52226d54905cdc87dc7
This commit is contained in:
George Joseph 2017-09-05 04:23:04 -06:00
parent 991750d3f1
commit 9b3f6d26bd
1 changed files with 2 additions and 2 deletions

View File

@ -302,9 +302,9 @@ static int t38_reinvite_response_cb(struct ast_sip_session *session, pjsip_rx_da
}
state = t38_state_get_or_alloc(session);
if (!state) {
if (!session->channel || !state) {
ast_log(LOG_WARNING, "Received response to T.38 re-invite on '%s' but state unavailable\n",
ast_channel_name(session->channel));
session->channel ? ast_channel_name(session->channel) : "unknown channel");
return 0;
}