diff options
author | Lennart Poettering <lennart@poettering.net> | 2021-02-05 18:44:22 +0100 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2021-02-05 18:44:22 +0100 |
commit | 6da52ca861a1cae3f453d50dbb6fac6666a73f4b (patch) | |
tree | 27616564a077042c41c54f9da7870e8e91d91f3e | |
parent | cb3363ef7af77cdaf29d2d6a6380a152cf5702bd (diff) | |
download | systemd-6da52ca861a1cae3f453d50dbb6fac6666a73f4b.tar.gz |
nss-resolve: accept zero ifindex when parsing resolved reply
Sometimes a reply isn't associated to any specific interface, it might
be a general truth (for example served from /etc/hosts or so). In this
case the server might pass ifindex == 0. Accept that.
https://github.com/systemd/systemd/pull/17823#issuecomment-742439422
-rw-r--r-- | src/nss-resolve/nss-resolve.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/nss-resolve/nss-resolve.c b/src/nss-resolve/nss-resolve.c index be9d28d993..458eb487a5 100644 --- a/src/nss-resolve/nss-resolve.c +++ b/src/nss-resolve/nss-resolve.c @@ -90,7 +90,7 @@ static int json_dispatch_ifindex(const char *name, JsonVariant *variant, JsonDis return json_log(variant, flags, SYNTHETIC_ERRNO(EINVAL), "JSON field '%s' is not an integer.", strna(name)); t = json_variant_integer(variant); - if (t <= 0 || t > INT_MAX) + if (t > INT_MAX) return json_log(variant, flags, SYNTHETIC_ERRNO(EINVAL), "JSON field '%s' is out of bounds for an interface index.", strna(name)); *ifi = (int) t; |