From: Michael Jerris Date: Thu, 15 May 2014 14:09:38 +0000 (+0000) Subject: CID:1214196 Dereference null return value, if we hit this condition, something very... X-Git-Tag: v1.4.4~59 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4e888a282cf4f36d2b62c2e8bcf00ca205be4d54;p=thirdparty%2Ffreeswitch.git CID:1214196 Dereference null return value, if we hit this condition, something very bad has happened, we should never have the private not set if we get to the hangup hook, log error instead of crashing --- diff --git a/src/mod/applications/mod_spy/mod_spy.c b/src/mod/applications/mod_spy/mod_spy.c index 784820d147..1a697fed06 100644 --- a/src/mod/applications/mod_spy/mod_spy.c +++ b/src/mod/applications/mod_spy/mod_spy.c @@ -59,6 +59,11 @@ static switch_status_t spy_on_hangup(switch_core_session_t *session) const char *uuid = switch_core_session_get_uuid(session); spy_t *spy = NULL, *p = NULL, *prev = NULL; + if (!data) { + switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_ERROR, "Can't call mod_spy hangup hook due to missing private data\n"); + return SWITCH_STATUS_SUCCESS; + } + switch_thread_rwlock_wrlock(globals.spy_hash_lock); spy = switch_core_hash_find(globals.spy_hash, data);