config_commands_command: make alloc failure check more permanent

policy is accessed again later

Found through static analysis
This commit is contained in:
Dominique Martinet 2018-06-30 22:12:10 +09:00
parent 5690bea227
commit 557a14a6fe

View File

@ -428,8 +428,7 @@ struct cmd_results *config_commands_command(char *exec) {
struct cmd_handler *handler = find_handler(cmd, NULL, 0); struct cmd_handler *handler = find_handler(cmd, NULL, 0);
if (!handler && strcmp(cmd, "*") != 0) { if (!handler && strcmp(cmd, "*") != 0) {
char *input = cmd ? cmd : "(empty)"; results = cmd_results_new(CMD_INVALID, cmd, "Unknown/invalid command");
results = cmd_results_new(CMD_INVALID, input, "Unknown/invalid command");
goto cleanup; goto cleanup;
} }
@ -471,10 +470,12 @@ struct cmd_results *config_commands_command(char *exec) {
} }
if (!policy) { if (!policy) {
policy = alloc_command_policy(cmd); policy = alloc_command_policy(cmd);
sway_assert(policy, "Unable to allocate security policy"); if (!sway_assert(policy, "Unable to allocate security policy")) {
if (policy) { results = cmd_results_new(CMD_INVALID, cmd,
list_add(config->command_policies, policy); "Unable to allocate memory");
goto cleanup;
} }
list_add(config->command_policies, policy);
} }
policy->context = context; policy->context = context;