FS-6484: guess at fixing seg from mod_managed, this function should never be called without a channel, but if it does, throw an error instead

This commit is contained in:
Michael Jerris 2014-05-05 19:18:58 -04:00
parent 0a2ba8869a
commit 3ff3f327ee

View File

@ -1348,6 +1348,7 @@ SWITCH_DECLARE(void) bridge(CoreSession &session_a, CoreSession &session_b)
SWITCH_DECLARE_NONSTD(switch_status_t) hanguphook(switch_core_session_t *session_hungup) SWITCH_DECLARE_NONSTD(switch_status_t) hanguphook(switch_core_session_t *session_hungup)
{ {
if (session_hungup) {
switch_channel_t *channel = switch_core_session_get_channel(session_hungup); switch_channel_t *channel = switch_core_session_get_channel(session_hungup);
CoreSession *coresession = NULL; CoreSession *coresession = NULL;
switch_channel_state_t state = switch_channel_get_state(channel); switch_channel_state_t state = switch_channel_get_state(channel);
@ -1361,6 +1362,10 @@ SWITCH_DECLARE_NONSTD(switch_status_t) hanguphook(switch_core_session_t *session
} }
return SWITCH_STATUS_SUCCESS; return SWITCH_STATUS_SUCCESS;
} else {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "hangup hook called with null session, something is horribly wrong\n");
return SWITCH_STATUS_FALSE;
}
} }