diff options
author | Andreas Schwab <schwab@redhat.com> | 2011-02-25 16:51:24 -0500 |
---|---|---|
committer | Ulrich Drepper <drepper@gmail.com> | 2011-02-25 16:51:24 -0500 |
commit | f2092faf2b6bd491a1891d5d5e393a8bf85d01d7 (patch) | |
tree | 66a243b05c02e2bde1b195616b6abcbe74e82fd7 | |
parent | 6c8a2e88d12b7341440ac9669db0448223deb381 (diff) | |
download | glibc-f2092faf2b6bd491a1891d5d5e393a8bf85d01d7.tar.gz glibc-f2092faf2b6bd491a1891d5d5e393a8bf85d01d7.tar.xz glibc-f2092faf2b6bd491a1891d5d5e393a8bf85d01d7.zip |
Don't crash when dependencies are missing
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | elf/dl-deps.c | 8 |
2 files changed, 11 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog index 0113c4c6e1..c30fb5c5d4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,6 +1,12 @@ +2011-02-17 Andreas Schwab <schwab@redhat.com> + + [BZ #12454] + * elf/dl-deps.c (_dl_map_object_deps): Signal error early when + dependencies are missing. + 2011-02-22 Samuel Thibault <samuel.thibault@ens-lyon.org> - Fix __if_freereq crash: Unlike the generic version which uses free, + Fix __if_freereq crash: Unlike the generic version which uses free, Hurd needs munmap. * sysdeps/mach/hurd/ifreq.h: New file. diff --git a/elf/dl-deps.c b/elf/dl-deps.c index 440fb563da..5288353d8f 100644 --- a/elf/dl-deps.c +++ b/elf/dl-deps.c @@ -491,6 +491,10 @@ _dl_map_object_deps (struct link_map *map, if (errno == 0 && errno_saved != 0) __set_errno (errno_saved); + if (errno_reason) + _dl_signal_error (errno_reason == -1 ? 0 : errno_reason, objname, + NULL, errstring); + struct link_map **old_l_initfini = NULL; if (map->l_initfini != NULL && map->l_type == lt_loaded) { @@ -683,8 +687,4 @@ Filters not supported with LD_TRACE_PRELINKING")); } if (old_l_initfini != NULL) _dl_scope_free (old_l_initfini); - - if (errno_reason) - _dl_signal_error (errno_reason == -1 ? 0 : errno_reason, objname, - NULL, errstring); } |