* elf/dl-load.c (lose): Remove [!SHARED] conditional from null check

on L->l_prev; it can happen under rtld --verify too.
This commit is contained in:
Roland McGrath 2002-08-15 08:43:31 +00:00
parent 750a13ed3c
commit 1a64029808
2 changed files with 5 additions and 3 deletions

View File

@ -1,5 +1,8 @@
2002-08-15 Roland McGrath <roland@redhat.com> 2002-08-15 Roland McGrath <roland@redhat.com>
* elf/dl-load.c (lose): Remove [!SHARED] conditional from null check
on L->l_prev; it can happen under rtld --verify too.
* locale/loadarchive.c (_nl_load_locale_from_archive): Don't read the * locale/loadarchive.c (_nl_load_locale_from_archive): Don't read the
header separately, just map an initial window of 2MB from the file header separately, just map an initial window of 2MB from the file
and remap if that is not large enough to cover the whole header. and remap if that is not large enough to cover the whole header.

View File

@ -754,12 +754,11 @@ lose (int code, int fd, const char *name, char *realname, struct link_map *l,
{ {
/* Remove the stillborn object from the list and free it. */ /* Remove the stillborn object from the list and free it. */
assert (l->l_next == NULL); assert (l->l_next == NULL);
#ifndef SHARED
if (l->l_prev == NULL) if (l->l_prev == NULL)
/* No other module loaded. */ /* No other module loaded. This happens only in the static library,
or in rtld under --verify. */
GL(dl_loaded) = NULL; GL(dl_loaded) = NULL;
else else
#endif
l->l_prev->l_next = NULL; l->l_prev->l_next = NULL;
--GL(dl_nloaded); --GL(dl_nloaded);
free (l); free (l);