diff options
author | Drew DeVault <sir@cmpwn.com> | 2016-12-15 18:26:53 -0500 |
---|---|---|
committer | Drew DeVault <sir@cmpwn.com> | 2016-12-15 19:01:41 -0500 |
commit | 10c8b73075fa0dd5512cc14be7240ec47f68dece (patch) | |
tree | e8835ef640d1d21ce0f36a5b1bcee726d926e55e /sway/commands/assign.c | |
parent | Add remaining sway allocation failure handling (diff) | |
download | sway-10c8b73075fa0dd5512cc14be7240ec47f68dece.tar.gz sway-10c8b73075fa0dd5512cc14be7240ec47f68dece.tar.zst sway-10c8b73075fa0dd5512cc14be7240ec47f68dece.zip |
Handle calloc failures
Diffstat (limited to 'sway/commands/assign.c')
-rw-r--r-- | sway/commands/assign.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/sway/commands/assign.c b/sway/commands/assign.c index 1824692b..992b4692 100644 --- a/sway/commands/assign.c +++ b/sway/commands/assign.c | |||
@@ -23,11 +23,14 @@ 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)); |
30 | if (!crit) { | 32 | if (!crit) { |
33 | free(cmdlist); | ||
31 | return cmd_results_new(CMD_FAILURE, "assign", "Unable to allocate criteria"); | 34 | return cmd_results_new(CMD_FAILURE, "assign", "Unable to allocate criteria"); |
32 | } | 35 | } |
33 | crit->crit_raw = strdup(criteria); | 36 | crit->crit_raw = strdup(criteria); |