diff options
author | Andreas Jaeger <aj@suse.de> | 2000-05-10 09:06:56 +0000 |
---|---|---|
committer | Andreas Jaeger <aj@suse.de> | 2000-05-10 09:06:56 +0000 |
commit | a8571d373c763ce55314d6010c43e7052fa42a45 (patch) | |
tree | 2ec6581ab992e6eec605e3656ac106cdc19f45e1 /elf | |
parent | fbd61fc16fd20dfd5d4db3cc305a7b512074575e (diff) | |
download | glibc-a8571d373c763ce55314d6010c43e7052fa42a45.zip glibc-a8571d373c763ce55314d6010c43e7052fa42a45.tar.gz glibc-a8571d373c763ce55314d6010c43e7052fa42a45.tar.bz2 |
Update.
2000-05-09 Jakub Jelinek <jakub@redhat.com>
* elf/dl-sym.c (_dl_sym): Test ref not result for non-zero.
(_dl_vsym): Likewise.
Reported by Owen Taylor <otaylor@redhat.com>.
* elf/dl-deps.c (_dl_map_object_deps): Zero terminate L->l_initfini
always.
Diffstat (limited to 'elf')
-rw-r--r-- | elf/dl-deps.c | 4 | ||||
-rw-r--r-- | elf/dl-sym.c | 4 |
2 files changed, 5 insertions, 3 deletions
diff --git a/elf/dl-deps.c b/elf/dl-deps.c index d59f536..fca210f 100644 --- a/elf/dl-deps.c +++ b/elf/dl-deps.c @@ -465,7 +465,7 @@ _dl_map_object_deps (struct link_map *map, /* Store the search list we built in the object. It will be used for searches in the scope of this object. */ - map->l_searchlist.r_list = malloc ((2 * nlist + map->l_searchlist.r_list = malloc ((2 * nlist + 1 + (nlist == nduplist ? 0 : nduplist)) * sizeof (struct link_map *)); if (map->l_searchlist.r_list == NULL) @@ -549,4 +549,6 @@ _dl_map_object_deps (struct link_map *map, } } } + /* Terminate the list of dependencies. */ + map->l_initfini[nlist] = NULL; } diff --git a/elf/dl-sym.c b/elf/dl-sym.c index 84236ff..8ab6f2c 100644 --- a/elf/dl-sym.c +++ b/elf/dl-sym.c @@ -74,7 +74,7 @@ RTLD_NEXT used in code not dynamically loaded")); } } - if (result) + if (ref) return DL_SYMBOL_ADDRESS (result, ref); return NULL; @@ -130,7 +130,7 @@ RTLD_NEXT used in code not dynamically loaded")); map->l_local_scope, &vers, 0); } - if (result) + if (ref) return DL_SYMBOL_ADDRESS (result, ref); return NULL; } |