mirror of
https://github.com/sudo-project/sudo.git
synced 2025-09-01 14:55:12 +00:00
Trying to use "+=" or "-=" operators on a non-list is an error.
Previously, they were simply treated as "=" for non-lists.
This commit is contained in:
@@ -243,6 +243,20 @@ parse_default_entry(struct sudo_defs_types *def, const char *val, int op,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Only lists support append/remove. */
|
||||||
|
if ((op == '+' || op == '-') && (def->type & T_MASK) != T_LIST) {
|
||||||
|
if (!quiet) {
|
||||||
|
if (line > 0) {
|
||||||
|
sudo_warnx(U_("%s:%d:%d: invalid operator \"%c=\" for \"%s\""),
|
||||||
|
file, line, column, op, def->name);
|
||||||
|
} else {
|
||||||
|
sudo_warnx(U_("%s: invalid operator \"%c=\" for \"%s\""),
|
||||||
|
file, op, def->name);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
debug_return_bool(false);
|
||||||
|
}
|
||||||
|
|
||||||
switch (def->type & T_MASK) {
|
switch (def->type & T_MASK) {
|
||||||
case T_LOGFAC:
|
case T_LOGFAC:
|
||||||
rc = store_syslogfac(val, &def->sd_un);
|
rc = store_syslogfac(val, &def->sd_un);
|
||||||
|
Reference in New Issue
Block a user