about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog3
-rw-r--r--elf/dl-lookup.c7
2 files changed, 6 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index a35cbcf560..a1a7d50e67 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2004-03-09  Ulrich Drepper  <drepper@redhat.com>
 
+	* elf/dl-lookup.c (_dl_lookup_symbol_x): Fix possible NULL pointer
+	derefernce in error message.  Pretty printing.
+
 	* po/nl.po: Update from translation team.
 
 2004-03-08  Andreas Schwab  <schwab@suse.de>
diff --git a/elf/dl-lookup.c b/elf/dl-lookup.c
index b05404f815..88ac67ae1e 100644
--- a/elf/dl-lookup.c
+++ b/elf/dl-lookup.c
@@ -279,7 +279,7 @@ _dl_lookup_symbol_x (const char *undef_name, struct link_map *undef_map,
 	  && skip_map == NULL)
 	{
 	  /* We could find no value for a strong reference.  */
-	  const char *reference_name = undef_map ? undef_map->l_name : NULL;
+	  const char *reference_name = undef_map ? undef_map->l_name : "";
 	  const char *versionstr = version ? ", version " : "";
 	  const char *versionname = (version && version->name
 				     ? version->name : "");
@@ -313,14 +313,13 @@ _dl_lookup_symbol_x (const char *undef_name, struct link_map *undef_map,
 	{
 	  struct sym_val protected_value = { NULL, NULL };
 
-	  for (scope = symbol_scope; *scope; i = 0, ++scope)
+	  for (scope = symbol_scope; *scope != NULL; i = 0, ++scope)
 	    if (do_lookup_x (undef_name, hash, *ref, &protected_value,
 			     *scope, i, version, flags, skip_map,
 			     ELF_RTYPE_CLASS_PLT) != 0)
 	      break;
 
-	  if (protected_value.s != NULL
-	      && protected_value.m != undef_map)
+	  if (protected_value.s != NULL && protected_value.m != undef_map)
 	    {
 	      current_value.s = *ref;
 	      current_value.m = undef_map;