about summary refs log tree commit diff
diff options
context:
space:
mode:
-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