goto fail;
if (c <= 0) {
- *errnop = ENOENT;
+ *errnop = ESRCH;
*h_errnop = HOST_NOT_FOUND;
return NSS_STATUS_NOTFOUND;
}
ms = ALIGN(l+1) + ALIGN(sizeof(struct gaih_addrtuple)) * c;
if (buflen < ms) {
*errnop = ENOMEM;
- *h_errnop = NO_RECOVERY;
+ *h_errnop = TRY_AGAIN;
return NSS_STATUS_TRYAGAIN;
}
if (r < 0)
goto fail;
+ if (!IN_SET(family, AF_INET, AF_INET6)) {
+ r = -EAFNOSUPPORT;
+ goto fail;
+ }
+
if (sz != PROTO_ADDRESS_SIZE(family)) {
r = -EINVAL;
goto fail;