diff options
author | Ulrich Drepper <drepper@redhat.com> | 2002-11-04 10:20:14 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2002-11-04 10:20:14 +0000 |
commit | 226e9fda254a6c4f63837d4cfa5366c1d87d77f9 (patch) | |
tree | 2e0f1b761184d00a5c8fe41c9c11c5a681ccd83e | |
parent | 125183201f9b764e12f87aee88889f6db1e119ab (diff) | |
download | glibc-226e9fda254a6c4f63837d4cfa5366c1d87d77f9.tar.gz glibc-226e9fda254a6c4f63837d4cfa5366c1d87d77f9.tar.xz glibc-226e9fda254a6c4f63837d4cfa5366c1d87d77f9.zip |
Update.
* nss/getXXent_r.c (ENDFUNC_NAME): Don't do anything if the service hasn't been used [PR libc/4744].
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | linuxthreads/ChangeLog | 3 | ||||
-rw-r--r-- | nss/getXXent_r.c | 16 |
3 files changed, 16 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog index bd37eafb6d..a9fa94f3f8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2002-11-04 Ulrich Drepper <drepper@redhat.com> + * nss/getXXent_r.c (ENDFUNC_NAME): Don't do anything if the + service hasn't been used [PR libc/4744]. + * include/features.h: Use __STDC_VERSION__ not __STDC_VERSION. Reported by Miloslav Trmac <mitr@volny.cz> [PR libc/4766]. diff --git a/linuxthreads/ChangeLog b/linuxthreads/ChangeLog index 8569a3713b..414e309bdf 100644 --- a/linuxthreads/ChangeLog +++ b/linuxthreads/ChangeLog @@ -1,5 +1,8 @@ 2002-11-04 Ulrich Drepper <drepper@redhat.com> + * sysdeps/i386/Makefile: Compile pthread.c and sighandler.c with + -fno-omit-frame-pointer. Patch by Andreas Steinmetz <ast@domdv.de>. + * sysdeps/i386/useldt.h [PIC] (USETLS_LOAD_EBX): Use correct input register number. (DO_SET_THREAD_AREA): Mark asm output specifiers correctly. 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); + } } |