about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog3
-rw-r--r--elf/dl-close.c6
2 files changed, 8 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 5d02674ae1..383c6a34ae 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2002-02-23  Ulrich Drepper  <drepper@redhat.com>
 
+	* elf/dl-close.c (free_slotinfo): Check for end of list and return
+	true in this case.
+
 	* locale/iso-639.def: Add language codes for Walloon.
 
 	* elf/dl-fini.c (_dl_fini): Print some final statistics on the
diff --git a/elf/dl-close.c b/elf/dl-close.c
index 65992d5c80..9d81ad3db8 100644
--- a/elf/dl-close.c
+++ b/elf/dl-close.c
@@ -386,7 +386,11 @@ free_slotinfo (struct dtv_slotinfo_list *elemp)
 {
   size_t cnt;
 
-  if (elemp->next != NULL && !free_slotinfo (elemp->next))
+  if (elemp == NULL)
+    /* Nothing here, all is removed (or there never was anything).  */
+    return true;
+
+  if (!free_slotinfo (elemp->next))
     /* We cannot free the entry.  */
     return false;