aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog3
-rw-r--r--linuxthreads/ChangeLog3
-rw-r--r--nss/getXXent_r.c16
3 files changed, 16 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog
index bd37eaf..a9fa94f 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 8569a37..414e309 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 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);
+ }
}