aboutsummaryrefslogtreecommitdiff
path: root/nss
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2002-11-04 10:20:14 +0000
committerUlrich Drepper <drepper@redhat.com>2002-11-04 10:20:14 +0000
commit226e9fda254a6c4f63837d4cfa5366c1d87d77f9 (patch)
tree2e0f1b761184d00a5c8fe41c9c11c5a681ccd83e /nss
parent125183201f9b764e12f87aee88889f6db1e119ab (diff)
downloadglibc-226e9fda254a6c4f63837d4cfa5366c1d87d77f9.zip
glibc-226e9fda254a6c4f63837d4cfa5366c1d87d77f9.tar.gz
glibc-226e9fda254a6c4f63837d4cfa5366c1d87d77f9.tar.bz2
Update.
* nss/getXXent_r.c (ENDFUNC_NAME): Don't do anything if the service hasn't been used [PR libc/4744].
Diffstat (limited to 'nss')
-rw-r--r--nss/getXXent_r.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/nss/getXXent_r.c b/nss/getXXent_r.c
index 1d203db..5a1e3e9 100644
--- a/nss/getXXent_r.c
+++ b/nss/getXXent_r.c
@@ -137,12 +137,16 @@ ENDFUNC_NAME (void)
{
int save;
- __libc_lock_lock (lock);
- __nss_endent (ENDFUNC_NAME_STRING, DB_LOOKUP_FCT, &nip, &startp,
- &last_nip, NEED__RES);
- save = errno;
- __libc_lock_unlock (lock);
- __set_errno (save);
+ /* If the service has not been used before do not do anything. */
+ if (startp != NULL)
+ {
+ __libc_lock_lock (lock);
+ __nss_endent (ENDFUNC_NAME_STRING, DB_LOOKUP_FCT, &nip, &startp,
+ &last_nip, NEED__RES);
+ save = errno;
+ __libc_lock_unlock (lock);
+ __set_errno (save);
+ }
}