summary refs log tree commit diff
path: root/elf/dl-deps.c
diff options
context:
space:
mode:
Diffstat (limited to 'elf/dl-deps.c')
-rw-r--r--elf/dl-deps.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/elf/dl-deps.c b/elf/dl-deps.c
index c069fab0c8..76e71d78cb 100644
--- a/elf/dl-deps.c
+++ b/elf/dl-deps.c
@@ -139,7 +139,7 @@ _dl_map_object_deps (struct link_map *map,
     {
       struct link_map *l = runp->map;
 
-      if (l->l_info[AUXTAG] || l->l_info[FILTERTAG] || l->l_info[DT_NEEDED])
+      if (l->l_info[DT_NEEDED] || l->l_info[AUXTAG] || l->l_info[FILTERTAG])
 	{
 	  const char *strtab = ((void *) l->l_addr
 				+ l->l_info[DT_STRTAB]->d_un.d_ptr);
@@ -228,12 +228,11 @@ _dl_map_object_deps (struct link_map *map,
 		newp = alloca (sizeof (struct list));
 
 		/* Copy the content of the current entry over.  */
-		memcpy (newp, orig, sizeof (*newp));
+		orig->dup = memcpy (newp, orig, sizeof (*newp));
 
 		/* Initialize new entry.  */
 		orig->done = 0;
 		orig->map = args.aux;
-		orig->dup = newp;
 
 		/* We must handle two situations here: the map is new,
 		   so we must add it in all three lists.  If the map
@@ -347,7 +346,7 @@ _dl_map_object_deps (struct link_map *map,
       if (runp->done)
 	do
 	  runp = runp->unique;
-	while (runp && runp->done);
+	while (runp != NULL && runp->done);
     }
 
   /* Store the search list we built in the object.  It will be used for