]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
fix small memory
authorMichael Jerris <mike@jerris.com>
Mon, 18 May 2009 14:56:09 +0000 (14:56 +0000)
committerMichael Jerris <mike@jerris.com>
Mon, 18 May 2009 14:56:09 +0000 (14:56 +0000)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@13374 d0543943-73ff-0310-b7d9-9358b9ac24b2

src/mod/endpoints/mod_dingaling/mod_dingaling.c

index ef14b8d74e39ad3c48d89ed29ef3f70cebafc9fd..0be0db6de1106f9884ce6d858b5d6fb4f4beeb4d 100644 (file)
@@ -2093,17 +2093,20 @@ SWITCH_STANDARD_API(dl_login)
 {
        char *argv[10] = { 0 };
        int argc = 0;
-       char *var, *val, *myarg;
+       char *var, *val, *myarg = NULL;
        mdl_profile_t *profile = NULL;
        int x;
+       switch_status_t status = SWITCH_STATUS_SUCCESS;
 
        if (session) {
-               return SWITCH_STATUS_FALSE;
+               status = SWITCH_STATUS_FALSE;
+               goto done;
        }
 
        if (switch_strlen_zero(cmd)) {
                stream->write_function(stream, "USAGE: %s\n", LOGIN_SYNTAX);
-               return SWITCH_STATUS_SUCCESS;
+               status = SWITCH_STATUS_SUCCESS;
+               goto done;
        }
 
        myarg = strdup(cmd);
@@ -2112,7 +2115,8 @@ SWITCH_STANDARD_API(dl_login)
 
        if (switch_strlen_zero(cmd) || argc != 1) {
                stream->write_function(stream, "USAGE: %s\n", LOGIN_SYNTAX);
-               return SWITCH_STATUS_SUCCESS;
+               status = SWITCH_STATUS_SUCCESS;
+               goto done;
        }
 
        if (argv[0] && !strncasecmp(argv[0], "profile=", 8)) {
@@ -2123,7 +2127,8 @@ SWITCH_STANDARD_API(dl_login)
                        if (switch_test_flag(profile, TFLAG_IO)) {
                                switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Profile already exists.\n");
                                stream->write_function(stream, "Profile already exists\n");
-                               return SWITCH_STATUS_SUCCESS;
+                               status = SWITCH_STATUS_SUCCESS;
+                               goto done;
                        }
 
                }
@@ -2145,9 +2150,10 @@ SWITCH_STANDARD_API(dl_login)
        } else {
                stream->write_function(stream, "FAIL\n");
        }
+ done:
+       switch_safe_free(myarg);
 
-       return SWITCH_STATUS_SUCCESS;
-
+       return status;
 }
 
 static switch_status_t load_config(void)