about summary refs log tree commit diff
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
parent125183201f9b764e12f87aee88889f6db1e119ab (diff)
downloadglibc-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--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 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);
+    }
 }