about summary refs log tree commit diff
path: root/elf
diff options
context:
space:
mode:
Diffstat (limited to 'elf')
-rw-r--r--elf/dl-load.c2
-rw-r--r--elf/dl-open.c10
-rw-r--r--elf/ldd.bash.in2
3 files changed, 7 insertions, 7 deletions
diff --git a/elf/dl-load.c b/elf/dl-load.c
index 48c78c32df..3e5ddc04f1 100644
--- a/elf/dl-load.c
+++ b/elf/dl-load.c
@@ -1136,7 +1136,7 @@ _dl_map_object_from_fd (const char *name, int fd, struct filebuf *fbp,
 
       /* Now move the existing entries one back.  */
       memmove (&l->l_scope[1], &l->l_scope[0],
-	       sizeof (l->l_scope) - sizeof (l->l_scope[0]));
+	       (l->l_scope_max - 1) * sizeof (l->l_scope[0]));
 
       /* Now add the new entry.  */
       l->l_scope[0] = &l->l_symbolic_searchlist;
diff --git a/elf/dl-open.c b/elf/dl-open.c
index f79c317da8..d10ab8ac65 100644
--- a/elf/dl-open.c
+++ b/elf/dl-open.c
@@ -312,7 +312,7 @@ dl_open_worker (void *a)
 	    ++runp;
 	  }
 
-	if (__builtin_expect (cnt + 1 < imap->l_scope_max, 0))
+	if (__builtin_expect (cnt + 1 >= imap->l_scope_max, 0))
 	  {
 	    /* The 'r_scope' array is too small.  Allocate a new one
 	       dynamically.  */
@@ -327,7 +327,7 @@ dl_open_worker (void *a)
 		  _dl_signal_error (ENOMEM, "dlopen", NULL,
 				    N_("cannot create scope list"));
 		imap->l_scope = memcpy (newp, imap->l_scope,
-					cnt * imap->l_scope_max);
+					cnt * sizeof (imap->l_scope[0]));
 	      }
 	    else
 	      {
@@ -339,10 +339,10 @@ dl_open_worker (void *a)
 				    N_("cannot create scope list"));
 		imap->l_scope = newp;
 	      }
-
-	    imap->l_scope[cnt++] = &new->l_searchlist;
-	    imap->l_scope[cnt] = NULL;
 	  }
+
+	imap->l_scope[cnt++] = &new->l_searchlist;
+	imap->l_scope[cnt] = NULL;
       }
 
   /* Run the initializer functions of new objects.  */
diff --git a/elf/ldd.bash.in b/elf/ldd.bash.in
index b50ee42231..0d2a9e7145 100644
--- a/elf/ldd.bash.in
+++ b/elf/ldd.bash.in
@@ -36,7 +36,7 @@ while test $# -gt 0; do
   case "$1" in
   --vers | --versi | --versio | --version)
     echo 'ldd (GNU libc) @VERSION@'
-    echo $"Copyright (C) 1999 Free Software Foundation, Inc.
+    echo $"Copyright (C) 2001 Free Software Foundation, Inc.
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 Written by Roland McGrath and Ulrich Drepper."