summaryrefslogtreecommitdiff
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)
* 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