]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
fix null pointer issue in event socket
authorBrian West <brian@freeswitch.org>
Mon, 21 Dec 2009 22:48:33 +0000 (22:48 +0000)
committerBrian West <brian@freeswitch.org>
Mon, 21 Dec 2009 22:48:33 +0000 (22:48 +0000)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@16012 d0543943-73ff-0310-b7d9-9358b9ac24b2

src/mod/event_handlers/mod_event_socket/mod_event_socket.c

index 7f24d2b9e58a1c105822d46bf6b341aa427c9926..3ef03f3a9facebbdcd9390005990a6e06af5bd3a 100644 (file)
@@ -2016,7 +2016,6 @@ static void *SWITCH_THREAD_FUNC listener_run(switch_thread_t *thread, void *obj)
        switch_assert(listener != NULL);
        
        if ((session = listener->session)) {
-               channel = switch_core_session_get_channel(session);
                if (switch_core_session_read_lock(session) != SWITCH_STATUS_SUCCESS) {
                        goto done;
                }
@@ -2162,11 +2161,14 @@ static void *SWITCH_THREAD_FUNC listener_run(switch_thread_t *thread, void *obj)
        }
        switch_mutex_unlock(listener->filter_mutex);
 
-       if (listener->session && (switch_test_flag(listener, LFLAG_RESUME) || 
-                                                         ((var = switch_channel_get_variable(channel, "socket_resume")) && switch_true(var)))) {
+       if (listener->session) {
                channel = switch_core_session_get_channel(listener->session);
+       }
+       
+       if (channel && (switch_test_flag(listener, LFLAG_RESUME) || ((var = switch_channel_get_variable(channel, "socket_resume")) && switch_true(var)))) {
                switch_channel_set_state(channel, CS_RESET);
        }
+
        if (listener->sock) {
                char disco_buf[512] = "";
                const char message[] = "Disconnected, goodbye.\nSee you at ClueCon! http://www.cluecon.com/\n";