about summary refs log tree commit diff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@gmail.com>2011-09-07 23:50:40 -0400
committerUlrich Drepper <drepper@gmail.com>2011-09-07 23:50:40 -0400
commitfdc86bc9a83c23b08b8f6d4b53df2f56e15f3e85 (patch)
treecf3c0f034dcb3f6281a86490436c191ecb8abfc2
parentc966526aa40273e0da42dfd26fa8c0f409e69b86 (diff)
downloadglibc-fdc86bc9a83c23b08b8f6d4b53df2f56e15f3e85.tar.gz
glibc-fdc86bc9a83c23b08b8f6d4b53df2f56e15f3e85.tar.xz
glibc-fdc86bc9a83c23b08b8f6d4b53df2f56e15f3e85.zip
Pass back error code from dlerror_run
-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 7e77bc947e..0d2580d5b9 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 e440d016de..828588a8b1 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);