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;