commit 557a14a6fe79002427008a0cf831808202609ae4
parent 5690bea22745789ada70ba8b4814f2e15ee23bd2
Author: Dominique Martinet <asmadeus@codewreck.org>
Date: Sat, 30 Jun 2018 22:12:10 +0900
config_commands_command: make alloc failure check more permanent
policy is accessed again later
Found through static analysis
Diffstat:
1 file changed, 6 insertions(+), 5 deletions(-)
diff --git 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;