stasis: Allow empty application arguments to move.
authorJoshua Colp <jcolp@digium.com>
Wed, 13 Mar 2019 11:05:57 +0000 (08:05 -0300)
committerJoshua C. Colp <jcolp@digium.com>
Wed, 13 Mar 2019 13:55:57 +0000 (07:55 -0600)
Change-Id: I1e4d37415f3034abe36496dc30209c2303e6af5c

res/stasis/control.c

index 3e16e80..e209a6a 100644 (file)
@@ -453,16 +453,21 @@ int stasis_app_control_move(struct stasis_app_control *control, const char *app_
        struct stasis_app_control_move_data *move_data;
        size_t size;
 
-       size = sizeof(*move_data) + strlen(app_name) + strlen(app_args) + 2;
+       size = sizeof(*move_data) + strlen(app_name) + 1;
+       if (app_args) {
+               /* Application arguments are optional */
+               size += strlen(app_args) + 1;
+       }
+
        if (!(move_data = ast_calloc(1, size))) {
                return -1;
        }
 
        move_data->app_name = (char *)move_data + sizeof(*move_data);
-       move_data->app_args = move_data->app_name + strlen(app_name) + 1;
-
        strcpy(move_data->app_name, app_name); /* Safe */
+
        if (app_args) {
+               move_data->app_args = move_data->app_name + strlen(app_name) + 1;
                strcpy(move_data->app_args, app_args); /* Safe */
        } else {
                move_data->app_args = NULL;