summaryrefslogtreecommitdiffstats
path: root/sway/commands.c
diff options
context:
space:
mode:
authorLibravatar Dominique Martinet <asmadeus@codewreck.org>2018-06-30 22:12:10 +0900
committerLibravatar Dominique Martinet <asmadeus@codewreck.org>2018-07-02 08:03:41 +0900
commit557a14a6fe79002427008a0cf831808202609ae4 (patch)
tree704bb1296047065801ab82b9376fb95801fc72b4 /sway/commands.c
parentinput_config: free new_input_config on error (diff)
downloadsway-557a14a6fe79002427008a0cf831808202609ae4.tar.gz
sway-557a14a6fe79002427008a0cf831808202609ae4.tar.zst
sway-557a14a6fe79002427008a0cf831808202609ae4.zip
config_commands_command: make alloc failure check more permanent
policy is accessed again later Found through static analysis
Diffstat (limited to 'sway/commands.c')
-rw-r--r--sway/commands.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/sway/commands.c b/sway/commands.c
index 5b20857a..5b67e1ec 100644
--- a/sway/commands.c
+++ b/sway/commands.c
@@ -428,8 +428,7 @@ struct cmd_results *config_commands_command(char *exec) {
428 428
429 struct cmd_handler *handler = find_handler(cmd, NULL, 0); 429 struct cmd_handler *handler = find_handler(cmd, NULL, 0);
430 if (!handler && strcmp(cmd, "*") != 0) { 430 if (!handler && strcmp(cmd, "*") != 0) {
431 char *input = cmd ? cmd : "(empty)"; 431 results = cmd_results_new(CMD_INVALID, cmd, "Unknown/invalid command");
432 results = cmd_results_new(CMD_INVALID, input, "Unknown/invalid command");
433 goto cleanup; 432 goto cleanup;
434 } 433 }
435 434
@@ -471,10 +470,12 @@ struct cmd_results *config_commands_command(char *exec) {
471 } 470 }
472 if (!policy) { 471 if (!policy) {
473 policy = alloc_command_policy(cmd); 472 policy = alloc_command_policy(cmd);
474 sway_assert(policy, "Unable to allocate security policy"); 473 if (!sway_assert(policy, "Unable to allocate security policy")) {
475 if (policy) { 474 results = cmd_results_new(CMD_INVALID, cmd,
476 list_add(config->command_policies, policy); 475 "Unable to allocate memory");
476 goto cleanup;
477 } 477 }
478 list_add(config->command_policies, policy);
478 } 479 }
479 policy->context = context; 480 policy->context = context;
480 481