Revision
16012
Author
brian
Date
2009-12-21 16:48:33 -0600 (Mon, 21 Dec 2009)

Log Message

fix null pointer issue in event socket

Modified Paths

Diff

Modified: freeswitch/trunk/src/mod/event_handlers/mod_event_socket/mod_event_socket.c (16011 => 16012)


--- freeswitch/trunk/src/mod/event_handlers/mod_event_socket/mod_event_socket.c	2009-12-21 19:11:34 UTC (rev 16011)
+++ freeswitch/trunk/src/mod/event_handlers/mod_event_socket/mod_event_socket.c	2009-12-21 22:48:33 UTC (rev 16012)
@@ -2016,7 +2016,6 @@
 	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 @@
 	}
 	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";