[Freeswitch-svn] [commit] r11083 - freeswitch/trunk/libs/esl/src

FreeSWITCH SVN anthm at freeswitch.org
Tue Jan 6 15:40:28 PST 2009


Author: anthm
Date: Tue Jan  6 17:40:28 2009
New Revision: 11083

Log:
add more sanity checks

Modified:
   freeswitch/trunk/libs/esl/src/esl.c

Modified: freeswitch/trunk/libs/esl/src/esl.c
==============================================================================
--- freeswitch/trunk/libs/esl/src/esl.c	(original)
+++ freeswitch/trunk/libs/esl/src/esl.c	Tue Jan  6 17:40:28 2009
@@ -368,6 +368,10 @@
 {
 	char *txt;
 
+	if (!handle->connected) {
+		return ESL_FAIL;
+	}
+
 	esl_event_serialize(handle->last_ievent, &txt, ESL_TRUE);
 
 	esl_log(ESL_LOG_DEBUG, "SEND EVENT\n%s\n", txt);
@@ -388,6 +392,10 @@
 	char arg_buf[512] = "";
 	char send_buf[1292] = "";
 	
+	if (!handle->connected) {
+		return ESL_FAIL;
+	}
+
 	if (uuid) {
 		snprintf(cmd_buf, sizeof(cmd_buf), "sendmsg %s", uuid);
 	}
@@ -571,7 +579,7 @@
 ESL_DECLARE(esl_status_t) esl_disconnect(esl_handle_t *handle)
 {
 	esl_mutex_t *mutex = handle->mutex;
-	esl_status_t status = ESL_SUCCESS;
+	esl_status_t status = ESL_FAIL;
 	
 	if (mutex) {
 		esl_mutex_lock(mutex);
@@ -585,6 +593,7 @@
 	if (handle->sock != ESL_SOCK_INVALID) {
 		closesocket(handle->sock);
 		handle->sock = ESL_SOCK_INVALID;
+		status = ESL_SUCCESS;
 	}
 	
 	handle->connected = 0;
@@ -605,6 +614,10 @@
 	int max, activity;
 	esl_status_t status = ESL_SUCCESS;
 
+	if (!handle->connected) {
+		return ESL_FAIL;
+	}
+
 	tv.tv_usec = ms * 1000;
 
 	esl_mutex_lock(handle->mutex);
@@ -660,6 +673,11 @@
 	esl_ssize_t len;
 	int zc = 0;
 	
+
+	if (!handle->connected) {
+		return ESL_FAIL;
+	}
+
 	esl_mutex_lock(handle->mutex);
 
 	esl_event_safe_destroy(&handle->last_event);
@@ -858,6 +876,10 @@
 {
 	const char *e = cmd + strlen(cmd) -1;
 	
+	if (!handle->connected) {
+		return ESL_FAIL;
+	}
+
 	esl_log(ESL_LOG_DEBUG, "SEND\n%s\n", cmd);
 	
 	if (send(handle->sock, cmd, strlen(cmd), 0) != (int)strlen(cmd)) {
@@ -882,6 +904,10 @@
 	const char *hval;
 	esl_status_t status;
 	
+	if (!handle->connected) {
+		return ESL_FAIL;
+	}
+
 	esl_mutex_lock(handle->mutex);
 
 	if ((status = esl_send(handle, cmd))) {



More information about the Freeswitch-svn mailing list