fix uninitialized variable in dladdr
authorRich Felker <dalias@aerifal.cx>
Fri, 4 Oct 2013 04:29:58 +0000 (00:29 -0400)
committerRich Felker <dalias@aerifal.cx>
Fri, 4 Oct 2013 04:29:58 +0000 (00:29 -0400)
the affected branch only applies for DSOs that lack standard hash
table and only have the GNU hash table present.

src/ldso/dynlink.c

index a525b3d..fc58832 100644 (file)
@@ -1354,7 +1354,7 @@ int __dladdr(void *addr, Dl_info *info)
                uint32_t *hashval;
                buckets = p->ghashtab + 4 + (p->ghashtab[2]*sizeof(size_t)/4);
                sym += p->ghashtab[1];
-               for (i = 0; i < p->ghashtab[0]; i++) {
+               for (i = nsym = 0; i < p->ghashtab[0]; i++) {
                        if (buckets[i] > nsym)
                                nsym = buckets[i];
                }