summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2021-02-05 18:44:22 +0100
committerLennart Poettering <lennart@poettering.net>2021-02-05 18:44:22 +0100
commit6da52ca861a1cae3f453d50dbb6fac6666a73f4b (patch)
tree27616564a077042c41c54f9da7870e8e91d91f3e
parentcb3363ef7af77cdaf29d2d6a6380a152cf5702bd (diff)
downloadsystemd-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.c2
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;