From 4e888a282cf4f36d2b62c2e8bcf00ca205be4d54 Mon Sep 17 00:00:00 2001 From: Michael Jerris Date: Thu, 15 May 2014 14:09:38 +0000 Subject: [PATCH] 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 --- src/mod/applications/mod_spy/mod_spy.c | 5 +++++ 1 file changed, 5 insertions(+) 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);