summaryrefslogtreecommitdiff
path: root/nis/nss_nis
diff options
context:
space:
mode:
Diffstat (limited to 'nis/nss_nis')
-rw-r--r--nis/nss_nis/nis-grp.c3
-rw-r--r--nis/nss_nis/nis-pwd.c3
2 files changed, 4 insertions, 2 deletions
diff --git a/nis/nss_nis/nis-grp.c b/nis/nss_nis/nis-grp.c
index ce642c484f..6e36cf828f 100644
--- a/nis/nss_nis/nis-grp.c
+++ b/nis/nss_nis/nis-grp.c
@@ -220,7 +220,8 @@ internal_nis_getgrent_r (struct group *grp, char *buffer, size_t buflen,
errnop);
if (__builtin_expect (parse_res == -1, 0))
{
- free (outkey);
+ if (!batch_read)
+ free (outkey);
*errnop = ERANGE;
return NSS_STATUS_TRYAGAIN;
}
diff --git a/nis/nss_nis/nis-pwd.c b/nis/nss_nis/nis-pwd.c
index 7972118c84..1b5206ad6d 100644
--- a/nis/nss_nis/nis-pwd.c
+++ b/nis/nss_nis/nis-pwd.c
@@ -333,7 +333,8 @@ internal_nis_getpwent_r (struct passwd *pwd, char *buffer, size_t buflen,
errnop);
if (__builtin_expect (parse_res == -1, 0))
{
- free (outkey);
+ if (!batch_read)
+ free (outkey);
*errnop = ERANGE;
return NSS_STATUS_TRYAGAIN;
}