]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
FS-6074 --resolve
authorAnthony Minessale <anthm@freeswitch.org>
Fri, 3 Jan 2014 18:43:42 +0000 (23:43 +0500)
committerAnthony Minessale <anthm@freeswitch.org>
Fri, 3 Jan 2014 18:43:48 +0000 (23:43 +0500)
src/mod/event_handlers/mod_event_socket/mod_event_socket.c

index 0c5cd880db7b3add13ae8adfc99362382c9eb10c..8c0c85911a7df589f496740c3b607ffc070f4a68 100644 (file)
@@ -1569,12 +1569,18 @@ static switch_bool_t auth_api_command(listener_t *listener, const char *api_cmd,
 static switch_status_t parse_command(listener_t *listener, switch_event_t **event, char *reply, uint32_t reply_len)
 {
        switch_status_t status = SWITCH_STATUS_SUCCESS;
-       char *cmd = switch_event_get_header(*event, "command");
+       char *cmd = NULL;
        char unload_cheat[] = "api bgapi unload mod_event_socket";
        char reload_cheat[] = "api bgapi reload mod_event_socket";
 
        *reply = '\0';
 
+       if (!event || !*event || !(cmd = switch_event_get_header(*event, "command"))) {
+               switch_clear_flag_locked(listener, LFLAG_RUNNING);
+               switch_snprintf(reply, reply_len, "-ERR command parse error.");
+               goto done;
+       }
+
        if (switch_stristr("unload", cmd) && switch_stristr("mod_event_socket", cmd)) {
                cmd = unload_cheat;
        } else if (switch_stristr("reload", cmd) && switch_stristr("mod_event_socket", cmd)) {