mirror of
https://sourceware.org/git/glibc.git
synced 2025-07-30 22:43:12 +03:00
Don't crash in trace mode when dependencies are missing
This commit is contained in:
committed by
Ulrich Drepper
parent
2645b8e5cc
commit
18a26b301b
@ -1,3 +1,8 @@
|
|||||||
|
2010-04-14 Andreas Schwab <schwab@redhat.com>
|
||||||
|
|
||||||
|
* elf/dl-version.c (_dl_check_map_versions): Avoid index overflow
|
||||||
|
when dependencies are missing.
|
||||||
|
|
||||||
2010-04-14 H.J. Lu <hongjiu.lu@intel.com>
|
2010-04-14 H.J. Lu <hongjiu.lu@intel.com>
|
||||||
|
|
||||||
* sysdeps/x86_64/multiarch/memcmp-sse4.S: Optimized for unaligned
|
* sysdeps/x86_64/multiarch/memcmp-sse4.S: Optimized for unaligned
|
||||||
|
@ -322,10 +322,14 @@ _dl_check_map_versions (struct link_map *map, int verbose, int trace_mode)
|
|||||||
while (1)
|
while (1)
|
||||||
{
|
{
|
||||||
ElfW(Half) ndx = aux->vna_other & 0x7fff;
|
ElfW(Half) ndx = aux->vna_other & 0x7fff;
|
||||||
map->l_versions[ndx].hash = aux->vna_hash;
|
/* In trace mode, dependencies may be missing. */
|
||||||
map->l_versions[ndx].hidden = aux->vna_other & 0x8000;
|
if (__builtin_expect (ndx < map->l_nversions, 1))
|
||||||
map->l_versions[ndx].name = &strtab[aux->vna_name];
|
{
|
||||||
map->l_versions[ndx].filename = &strtab[ent->vn_file];
|
map->l_versions[ndx].hash = aux->vna_hash;
|
||||||
|
map->l_versions[ndx].hidden = aux->vna_other & 0x8000;
|
||||||
|
map->l_versions[ndx].name = &strtab[aux->vna_name];
|
||||||
|
map->l_versions[ndx].filename = &strtab[ent->vn_file];
|
||||||
|
}
|
||||||
|
|
||||||
if (aux->vna_next == 0)
|
if (aux->vna_next == 0)
|
||||||
/* No more symbols. */
|
/* No more symbols. */
|
||||||
|
Reference in New Issue
Block a user