mirror of
https://github.com/systemd/systemd.git
synced 2024-10-27 18:55:40 +03:00
config_parse_set_status: put signals in the correct set
This was broken when the code was rearranged in "1e2fd62d70ff core/load-fragment.c: correct argument sign and split up long lines"
This commit is contained in:
parent
5ffa8c8181
commit
615938651d
Notes:
Lennart Poettering
2015-02-12 17:45:32 +01:00
Backport: bugfix
@ -3150,6 +3150,7 @@ int config_parse_set_status(
|
||||
FOREACH_WORD(word, l, rvalue, state) {
|
||||
_cleanup_free_ char *temp;
|
||||
int val;
|
||||
Set **set;
|
||||
|
||||
temp = strndup(word, l);
|
||||
if (!temp)
|
||||
@ -3162,21 +3163,23 @@ int config_parse_set_status(
|
||||
if (val <= 0) {
|
||||
log_syntax(unit, LOG_ERR, filename, line, -val,
|
||||
"Failed to parse value, ignoring: %s", word);
|
||||
return 0;
|
||||
continue;
|
||||
}
|
||||
set = &status_set->signal;
|
||||
} else {
|
||||
if (val < 0 || val > 255) {
|
||||
log_syntax(unit, LOG_ERR, filename, line, ERANGE,
|
||||
"Value %d is outside range 0-255, ignoring", val);
|
||||
continue;
|
||||
}
|
||||
set = &status_set->status;
|
||||
}
|
||||
|
||||
r = set_ensure_allocated(&status_set->status, NULL);
|
||||
r = set_ensure_allocated(set, NULL);
|
||||
if (r < 0)
|
||||
return log_oom();
|
||||
|
||||
r = set_put(status_set->status, INT_TO_PTR(val));
|
||||
r = set_put(*set, INT_TO_PTR(val));
|
||||
if (r < 0) {
|
||||
log_syntax(unit, LOG_ERR, filename, line, -r,
|
||||
"Unable to store: %s", word);
|
||||
|
Loading…
Reference in New Issue
Block a user