From 226e9fda254a6c4f63837d4cfa5366c1d87d77f9 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Mon, 4 Nov 2002 10:20:14 +0000 Subject: Update. * nss/getXXent_r.c (ENDFUNC_NAME): Don't do anything if the service hasn't been used [PR libc/4744]. --- nss/getXXent_r.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) (limited to 'nss') diff --git a/nss/getXXent_r.c b/nss/getXXent_r.c index 1d203db4c4..5a1e3e9b0f 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); + } } -- cgit v1.2.3