Merge pull request #1255 from Hummer12007/policy

Prevent null pointer dereferences with policy allocation failure
This commit is contained in:
Drew DeVault 2017-07-01 14:46:21 -04:00 committed by Drew DeVault
parent 02005e3f99
commit 19233ee789
3 changed files with 9 additions and 9 deletions

View file

@ -607,11 +607,11 @@ struct cmd_results *config_commands_command(char *exec) {
} }
if (!policy) { if (!policy) {
policy = alloc_command_policy(cmd); policy = alloc_command_policy(cmd);
if (!policy) { sway_assert(policy, "Unable to allocate security policy");
sway_abort("Unable to allocate security policy"); if (policy) {
}
list_add(config->command_policies, policy); list_add(config->command_policies, policy);
} }
}
policy->context = context; policy->context = context;
sway_log(L_INFO, "Set command policy for %s to %d", sway_log(L_INFO, "Set command policy for %s to %d",

View file

@ -65,11 +65,11 @@ struct cmd_results *cmd_permit(int argc, char **argv) {
} }
struct feature_policy *policy = get_feature_policy(program); struct feature_policy *policy = get_feature_policy(program);
if (assign_perms) { if (policy && assign_perms) {
policy->features |= get_features(argc, argv, &error); policy->features |= get_features(argc, argv, &error);
}
sway_log(L_DEBUG, "Permissions granted to %s for features %d", sway_log(L_DEBUG, "Permissions granted to %s for features %d",
policy->program, policy->features); policy->program, policy->features);
}
free(program); free(program);
return cmd_results_new(CMD_SUCCESS, NULL, NULL); return cmd_results_new(CMD_SUCCESS, NULL, NULL);

View file

@ -152,11 +152,11 @@ struct feature_policy *get_feature_policy(const char *name) {
} }
if (!policy) { if (!policy) {
policy = alloc_feature_policy(name); policy = alloc_feature_policy(name);
if (!policy) { sway_assert(policy, "Unable to allocate security policy");
sway_abort("Unable to allocate security policy"); if (policy) {
}
list_add(config->feature_policies, policy); list_add(config->feature_policies, policy);
} }
}
return policy; return policy;
} }