From: Lennart Poettering Date: Fri, 5 Feb 2021 17:44:22 +0000 (+0100) Subject: nss-resolve: accept zero ifindex when parsing resolved reply X-Git-Tag: v248-rc1~197^2~1 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=6da52ca861a1cae3f453d50dbb6fac6666a73f4b;p=thirdparty%2Fsystemd.git 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 --- diff --git a/src/nss-resolve/nss-resolve.c b/src/nss-resolve/nss-resolve.c index be9d28d9930..458eb487a5f 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;