about summary refs log tree commit diff
path: root/elf/dl-open.c
diff options
context:
space:
mode:
Diffstat (limited to 'elf/dl-open.c')
-rw-r--r--elf/dl-open.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/elf/dl-open.c b/elf/dl-open.c
index 0df62ff51e..583878781e 100644
--- a/elf/dl-open.c
+++ b/elf/dl-open.c
@@ -137,7 +137,7 @@ add_to_global (struct link_map *new)
     }
 
   /* Now add the new entries.  */
-  unsigned int added = 0;
+  unsigned int new_nlist = ns->_ns_main_searchlist->r_nlist;
   for (cnt = 0; cnt < new->l_searchlist.r_nlist; ++cnt)
     {
       struct link_map *map = new->l_searchlist.r_list[cnt];
@@ -145,14 +145,11 @@ add_to_global (struct link_map *new)
       if (map->l_global == 0)
 	{
 	  map->l_global = 1;
-	  ns->_ns_main_searchlist->r_list[ns->_ns_main_searchlist->r_nlist
-					  + added]
-	    = map;
-	  ++added;
+	  ns->_ns_main_searchlist->r_list[new_nlist++] = map;
 	}
     }
   atomic_write_barrier ();
-  ns->_ns_main_searchlist->r_nlist += added;
+  ns->_ns_main_searchlist->r_nlist = new_nlist;
 
   return 0;
 }