]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
mod_rayo: doh- fix adhearsionconf core dump
authorChris Rienzo <chris@rienzo.com>
Thu, 5 Dec 2013 01:18:09 +0000 (20:18 -0500)
committerChris Rienzo <chris@rienzo.com>
Thu, 5 Dec 2013 01:18:09 +0000 (20:18 -0500)
src/mod/event_handlers/mod_rayo/mod_rayo.c

index 6d95d288855d4f8e1d6a332ec2713224172a3c82..a6b749a869fc454792e1154b12ade0f67c559f9a 100644 (file)
@@ -3936,10 +3936,15 @@ static int presence_api(char *cmd, switch_stream_handle_t *stream)
 SWITCH_STANDARD_API(rayo_api)
 {
        struct rayo_cmd_alias *alias;
-       char *cmd_dup = strdup(cmd);
+       char *cmd_dup = NULL;
        char *argv[2] = { 0 };
        int success = 0;
 
+       if (zstr(cmd) ) {
+               goto done;
+       }
+
+       cmd_dup = strdup(cmd);
        switch_separate_string(cmd_dup, ' ', argv, sizeof(argv) / sizeof(argv[0]));
 
        /* check if a command alias */
@@ -3957,11 +3962,12 @@ SWITCH_STANDARD_API(rayo_api)
                success = presence_api(argv[1], stream);
        }
 
+done:
        if (!success) {
                stream->write_function(stream, "-ERR: USAGE %s\n", RAYO_API_SYNTAX);
        }
 
-       free(cmd_dup);
+       switch_safe_free(cmd_dup);
 
        return SWITCH_STATUS_SUCCESS;
 }