diff options
author | Ulrich Drepper <drepper@gmail.com> | 2011-09-07 23:50:40 -0400 |
---|---|---|
committer | Ulrich Drepper <drepper@gmail.com> | 2011-09-07 23:50:40 -0400 |
commit | fdc86bc9a83c23b08b8f6d4b53df2f56e15f3e85 (patch) | |
tree | cf3c0f034dcb3f6281a86490436c191ecb8abfc2 | |
parent | c966526aa40273e0da42dfd26fa8c0f409e69b86 (diff) | |
download | glibc-fdc86bc9a83c23b08b8f6d4b53df2f56e15f3e85.zip glibc-fdc86bc9a83c23b08b8f6d4b53df2f56e15f3e85.tar.gz glibc-fdc86bc9a83c23b08b8f6d4b53df2f56e15f3e85.tar.bz2 |
Pass back error code from dlerror_run
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | elf/dl-libc.c | 6 |
2 files changed, 6 insertions, 3 deletions
@@ -1,5 +1,8 @@ 2011-09-07 Ulrich Drepper <drepper@gmail.com> + * elf/dl-libc.c (dlerror_run): Pass back error code from + dl_catch_error. + [BZ #13123] * elf/dl-load.c (lose): Free l_origin if it is valid. diff --git a/elf/dl-libc.c b/elf/dl-libc.c index e440d01..828588a 100644 --- a/elf/dl-libc.c +++ b/elf/dl-libc.c @@ -45,10 +45,10 @@ dlerror_run (void (*operate) (void *), void *args) const char *last_errstring = NULL; bool malloced; - (void) GLRO(dl_catch_error) (&objname, &last_errstring, &malloced, - operate, args); + int result = (GLRO(dl_catch_error) (&objname, &last_errstring, &malloced, + operate, args) + ?: last_errstring != NULL); - int result = last_errstring != NULL; if (result && malloced) free ((char *) last_errstring); |