1
0
mirror of https://github.com/systemd/systemd.git synced 2025-09-10 21:45:06 +03:00

Merge pull request #18611 from poettering/ifname-validate-tighter

make ifname validation tighter
This commit is contained in:
Lennart Poettering
2021-02-16 09:52:32 +01:00
committed by GitHub
2 changed files with 11 additions and 11 deletions

View File

@@ -721,6 +721,10 @@ bool ifname_valid_full(const char *p, IfnameValidFlags flags) {
if (isempty(p))
return false;
/* A valid ifindex? If so, it's valid iff IFNAME_VALID_NUMERIC is set */
if (parse_ifindex(p) >= 0)
return flags & IFNAME_VALID_NUMERIC;
if (flags & IFNAME_VALID_ALTERNATIVE) {
if (strlen(p) >= ALTIFNAMSIZ)
return false;
@@ -745,15 +749,11 @@ bool ifname_valid_full(const char *p, IfnameValidFlags flags) {
numeric = numeric && (*t >= '0' && *t <= '9');
}
if (numeric) {
if (!(flags & IFNAME_VALID_NUMERIC))
/* It's fully numeric but didn't parse as valid ifindex above? if so, it must be too large or zero or
* so, let's refuse that. */
if (numeric)
return false;
/* Verify that the number is well-formatted and in range. */
if (parse_ifindex(p) < 0)
return false;
}
return true;
}