summary refs log tree commit diff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2005-07-07 06:02:07 +0000
committerUlrich Drepper <drepper@redhat.com>2005-07-07 06:02:07 +0000
commit587d6ddc60bbdf561be3f217280220af9102c3e8 (patch)
tree77b2e9018537209ca779c41b088f71fc202ff8de
parent9f0d7b6df903729a56bc464ff3721e80906933da (diff)
downloadglibc-587d6ddc60bbdf561be3f217280220af9102c3e8.tar.gz
glibc-587d6ddc60bbdf561be3f217280220af9102c3e8.tar.xz
glibc-587d6ddc60bbdf561be3f217280220af9102c3e8.zip
* elf/dl-error.c (_dl_signal_error): When testing for executable
	being relocated, take into account that nothing might even be loaded.
-rw-r--r--ChangeLog3
-rw-r--r--elf/dl-error.c5
2 files changed, 6 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 8d3fd11ba4..adcb3fa913 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2005-07-06  Ulrich Drepper  <drepper@redhat.com>
 
+	* elf/dl-error.c (_dl_signal_error): When testing for executable
+	being relocated, take into account that nothing might even be loaded.
+
 	* elf/dl-reloc.c [PROF] (_dl_relocate_object): Define
 	consider_profiling always to zero.  Don't count of compiler to
 	remove unreached if block.
diff --git a/elf/dl-error.c b/elf/dl-error.c
index a63d801411..3a0d9bb8a7 100644
--- a/elf/dl-error.c
+++ b/elf/dl-error.c
@@ -98,8 +98,9 @@ _dl_signal_error (int errcode, const char *objname, const char *occation,
 	  /* If the main executable is relocated it means the libc's malloc
 	     is used.  */
 #ifdef SHARED
-	  lcatch->malloced = (GL(dl_ns)[LM_ID_BASE]._ns_loaded->l_relocated
-			      != 0);
+	  lcatch->malloced = (GL(dl_ns)[LM_ID_BASE]._ns_loaded != NULL
+			      && (GL(dl_ns)[LM_ID_BASE]._ns_loaded->l_relocated
+				  != 0));
 #else
 	  lcatch->malloced = true;
 #endif