about summary refs log tree commit diff
path: root/nis/nss_compat/compat-pwd.c
diff options
context:
space:
mode:
authorAndreas Schwab <schwab@suse.de>2015-03-25 16:35:46 +0100
committerAndreas Schwab <schwab@suse.de>2015-05-11 10:41:49 +0200
commitb13b96ca05a132a12dc5f3712b99e626670716bf (patch)
tree2b1ab6395ec3b6e44c63513858e2c53383747733 /nis/nss_compat/compat-pwd.c
parente1b6cb04f5efff7fb7415c69511d3ab3c31c6e4a (diff)
downloadglibc-b13b96ca05a132a12dc5f3712b99e626670716bf.tar.gz
glibc-b13b96ca05a132a12dc5f3712b99e626670716bf.tar.xz
glibc-b13b96ca05a132a12dc5f3712b99e626670716bf.zip
Separate internal state between getXXent and getXXbyYY NSS calls (bug 18007)
Diffstat (limited to 'nis/nss_compat/compat-pwd.c')
-rw-r--r--nis/nss_compat/compat-pwd.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/nis/nss_compat/compat-pwd.c b/nis/nss_compat/compat-pwd.c
index e3e3dbb308..9b1d671d17 100644
--- a/nis/nss_compat/compat-pwd.c
+++ b/nis/nss_compat/compat-pwd.c
@@ -311,9 +311,6 @@ _nss_compat_setpwent (int stayopen)
 static enum nss_status
 internal_endpwent (ent_t *ent)
 {
-  if (nss_endpwent)
-    nss_endpwent ();
-
   if (ent->stream != NULL)
     {
       fclose (ent->stream);
@@ -346,6 +343,9 @@ _nss_compat_endpwent (void)
 
   __libc_lock_lock (lock);
 
+  if (nss_endpwent)
+    nss_endpwent ();
+
   result = internal_endpwent (&ext_ent);
 
   __libc_lock_unlock (lock);