aboutsummaryrefslogtreecommitdiff
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