summaryrefslogtreecommitdiffstats
path: root/sway/commands/assign.c
diff options
context:
space:
mode:
Diffstat (limited to 'sway/commands/assign.c')
-rw-r--r--sway/commands/assign.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/sway/commands/assign.c b/sway/commands/assign.c
index 53c599ca..992b4692 100644
--- a/sway/commands/assign.c
+++ b/sway/commands/assign.c
@@ -23,10 +23,16 @@ struct cmd_results *cmd_assign(int argc, char **argv) {
23 char *movecmd = "move container to workspace "; 23 char *movecmd = "move container to workspace ";
24 int arglen = strlen(movecmd) + strlen(*argv) + 1; 24 int arglen = strlen(movecmd) + strlen(*argv) + 1;
25 char *cmdlist = calloc(1, arglen); 25 char *cmdlist = calloc(1, arglen);
26 26 if (!cmdlist) {
27 return cmd_results_new(CMD_FAILURE, "assign", "Unable to allocate command list");
28 }
27 snprintf(cmdlist, arglen, "%s%s", movecmd, *argv); 29 snprintf(cmdlist, arglen, "%s%s", movecmd, *argv);
28 30
29 struct criteria *crit = malloc(sizeof(struct criteria)); 31 struct criteria *crit = malloc(sizeof(struct criteria));
32 if (!crit) {
33 free(cmdlist);
34 return cmd_results_new(CMD_FAILURE, "assign", "Unable to allocate criteria");
35 }
30 crit->crit_raw = strdup(criteria); 36 crit->crit_raw = strdup(criteria);
31 crit->cmdlist = cmdlist; 37 crit->cmdlist = cmdlist;
32 crit->tokens = create_list(); 38 crit->tokens = create_list();