diff options
author | Andreas Schwab <schwab@redhat.com> | 2011-02-25 16:51:24 -0500 |
---|---|---|
committer | Ryan S. Arnold <rsa@us.ibm.com> | 2011-05-03 17:15:35 -0500 |
commit | 1e2e988b3d31acfb9cdb0c56684a2bb6a7c709fa (patch) | |
tree | f6f8fb973f20c5a5ef1bcf2ab5d3907fe5293de4 | |
parent | 57c8c3969204c998ee8dc3bb172bc6423646b209 (diff) | |
download | glibc-1e2e988b3d31acfb9cdb0c56684a2bb6a7c709fa.tar.gz glibc-1e2e988b3d31acfb9cdb0c56684a2bb6a7c709fa.tar.xz glibc-1e2e988b3d31acfb9cdb0c56684a2bb6a7c709fa.zip |
Don't crash when dependencies are missing
(Cherry picked from commit f2092faf2b6bd491a1891d5d5e393a8bf85d01d7)
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | elf/dl-deps.c | 8 |
2 files changed, 10 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog index bf85164756..cbc68c1ea2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +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. + 2010-09-28 Andreas Schwab <schwab@redhat.com> Ulrich Drepper <drepper@gmail.com> 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); } |