sway

i3-compatible Wayland compositor
git clone https://git.awy.one/sway
Log | Files | Refs | README | LICENSE

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:
Msway/commands.c | 11++++++-----
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;