aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog3
-rw-r--r--elf/dl-libc.c6
2 files changed, 6 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 7e77bc9..0d2580d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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);