mirror of
https://github.com/swaywm/sway.git
synced 2024-11-01 05:57:17 +00:00
Merge pull request #1255 from Hummer12007/policy
Prevent null pointer dereferences with policy allocation failure
This commit is contained in:
parent
02005e3f99
commit
19233ee789
|
@ -607,10 +607,10 @@ 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;
|
||||||
|
|
||||||
|
|
|
@ -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",
|
||||||
|
policy->program, policy->features);
|
||||||
}
|
}
|
||||||
sway_log(L_DEBUG, "Permissions granted to %s for features %d",
|
|
||||||
policy->program, policy->features);
|
|
||||||
|
|
||||||
free(program);
|
free(program);
|
||||||
return cmd_results_new(CMD_SUCCESS, NULL, NULL);
|
return cmd_results_new(CMD_SUCCESS, NULL, NULL);
|
||||||
|
|
|
@ -152,10 +152,10 @@ 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;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue