aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDominique Martinet <asmadeus@codewreck.org>2018-06-30 22:12:10 +0900
committerDominique Martinet <asmadeus@codewreck.org>2018-07-02 08:03:41 +0900
commit557a14a6fe79002427008a0cf831808202609ae4 (patch)
tree704bb1296047065801ab82b9376fb95801fc72b4
parent5690bea22745789ada70ba8b4814f2e15ee23bd2 (diff)
downloadsway-557a14a6fe79002427008a0cf831808202609ae4.tar.xz
config_commands_command: make alloc failure check more permanent
policy is accessed again later Found through static analysis
-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) {
struct cmd_handler *handler = find_handler(cmd, NULL, 0);
if (!handler && strcmp(cmd, "*") != 0) {
- char *input = cmd ? cmd : "(empty)";
- results = cmd_results_new(CMD_INVALID, input, "Unknown/invalid command");
+ results = cmd_results_new(CMD_INVALID, cmd, "Unknown/invalid command");
goto cleanup;
}
@@ -471,10 +470,12 @@ struct cmd_results *config_commands_command(char *exec) {
}
if (!policy) {
policy = alloc_command_policy(cmd);
- sway_assert(policy, "Unable to allocate security policy");
- if (policy) {
- list_add(config->command_policies, policy);
+ if (!sway_assert(policy, "Unable to allocate security policy")) {
+ results = cmd_results_new(CMD_INVALID, cmd,
+ "Unable to allocate memory");
+ goto cleanup;
}
+ list_add(config->command_policies, policy);
}
policy->context = context;