From 5812a26eeb8928f34eadc5c5dfca74563a824cd0 Mon Sep 17 00:00:00 2001 From: Patrick Gauvin Date: Sun, 26 Jun 2016 13:06:07 -0400 Subject: Update dlerror usage Handles possible NULL return value Updates #2747 --- testsuites/libtests/dl01/dl-load.c | 7 +++++-- testsuites/libtests/dl02/dl-load.c | 11 ++++++++--- 2 files changed, 13 insertions(+), 5 deletions(-) (limited to 'testsuites') diff --git a/testsuites/libtests/dl01/dl-load.c b/testsuites/libtests/dl01/dl-load.c index e8f84bd5b5..7441808b24 100644 --- a/testsuites/libtests/dl01/dl-load.c +++ b/testsuites/libtests/dl01/dl-load.c @@ -27,13 +27,15 @@ int dl_load_test(void) int call_ret; int unresolved; char* message = "loaded"; + char* err; printf("load: /dl-o1.o\n"); handle = dlopen ("/dl-o1.o", RTLD_NOW | RTLD_GLOBAL); if (!handle) { - printf("dlopen failed: %s\n", dlerror()); + err = dlerror (); + printf ("dlopen failed: %s\n", err ? err : ""); return 1; } @@ -67,7 +69,8 @@ int dl_load_test(void) if (dlclose (handle) < 0) { - printf("dlclose failed: %s\n", dlerror()); + err = dlerror (); + printf ("dlclose failed: %s\n", err ? err : ""); return 1; } diff --git a/testsuites/libtests/dl02/dl-load.c b/testsuites/libtests/dl02/dl-load.c index 5bb40dccba..5e74e0e425 100644 --- a/testsuites/libtests/dl02/dl-load.c +++ b/testsuites/libtests/dl02/dl-load.c @@ -21,13 +21,15 @@ static void* dl_load_obj(const char* name) void* handle; int unresolved; char* message = "loaded"; + char* err; printf("load: %s\n", name); handle = dlopen (name, RTLD_NOW | RTLD_GLOBAL); if (!handle) { - printf("dlopen failed: %s\n", dlerror()); + err = dlerror (); + printf ("dlopen failed: %s\n", err ? err : ""); return NULL; } @@ -48,6 +50,7 @@ int dl_load_test(void) call_t call; int call_ret; int ret; + char* err; o1 = dl_load_obj("/dl-o1.o"); if (!o1) @@ -83,7 +86,8 @@ int dl_load_test(void) if (dlclose (o1) < 0) { - printf("dlclose o1 failed: %s\n", dlerror()); + err = dlerror (); + printf ("dlclose o1 failed: %s\n", err ? err : ""); ret = 1; } @@ -91,7 +95,8 @@ int dl_load_test(void) if (dlclose (o2) < 0) { - printf("dlclose o1 failed: %s\n", dlerror()); + err = dlerror (); + printf ("dlclose o2 failed: %s\n", err ? err : ""); ret = 1; } -- cgit v1.2.3