diff options
author | Patrick Gauvin <gauvin@hcs.ufl.edu> | 2016-06-26 13:06:07 -0400 |
---|---|---|
committer | Chris Johns <chrisj@rtems.org> | 2018-02-08 14:21:13 +1100 |
commit | 5812a26eeb8928f34eadc5c5dfca74563a824cd0 (patch) | |
tree | a9e6af597525f7ac5c819953f71788aeb0f1ca84 /testsuites/libtests/dl02/dl-load.c | |
parent | libdl: Fix dlerror return type (diff) | |
download | rtems-5812a26eeb8928f34eadc5c5dfca74563a824cd0.tar.bz2 |
Update dlerror usage
Handles possible NULL return value
Updates #2747
Diffstat (limited to '')
-rw-r--r-- | testsuites/libtests/dl02/dl-load.c | 11 |
1 files changed, 8 insertions, 3 deletions
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; } |