diff options
Diffstat (limited to 'nis/nss_nisplus/nisplus-ethers.c')
-rw-r--r-- | nis/nss_nisplus/nisplus-ethers.c | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/nis/nss_nisplus/nisplus-ethers.c b/nis/nss_nisplus/nisplus-ethers.c index ca0a9e2481..8b628fca81 100644 --- a/nis/nss_nisplus/nisplus-ethers.c +++ b/nis/nss_nisplus/nisplus-ethers.c @@ -261,17 +261,18 @@ _nss_nisplus_gethostton_r (const char *name, struct etherent *eth, int parse_res = _nss_nisplus_parse_etherent (result, eth, buffer, buflen, errnop); + + /* We do not need the lookup result anymore. */ + nis_freeresult (result); + if (__builtin_expect (parse_res < 1, 0)) { __set_errno (olderr); if (parse_res == -1) - { - nis_freeresult (result); - return NSS_STATUS_TRYAGAIN; - } - else - return NSS_STATUS_NOTFOUND; + return NSS_STATUS_TRYAGAIN; + + return NSS_STATUS_NOTFOUND; } return NSS_STATUS_SUCCESS; @@ -326,13 +327,14 @@ _nss_nisplus_getntohost_r (const struct ether_addr *addr, struct etherent *eth, int parse_res = _nss_nisplus_parse_etherent (result, eth, buffer, buflen, errnop); + + /* We do not need the lookup result anymore. */ + nis_freeresult (result); + if (__builtin_expect (parse_res < 1, 0)) { if (parse_res == -1) - { - nis_freeresult (result); - return NSS_STATUS_TRYAGAIN; - } + return NSS_STATUS_TRYAGAIN; return NSS_STATUS_NOTFOUND; } |