summaryrefslogtreecommitdiffstats
path: root/lib/uid_wrapper/uid_wrapper.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/uid_wrapper/uid_wrapper.c')
-rw-r--r--lib/uid_wrapper/uid_wrapper.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/uid_wrapper/uid_wrapper.c b/lib/uid_wrapper/uid_wrapper.c
index 2181767246..c1dc56b774 100644
--- a/lib/uid_wrapper/uid_wrapper.c
+++ b/lib/uid_wrapper/uid_wrapper.c
@@ -271,11 +271,14 @@ static void *uwrap_load_lib_handle(enum uwrap_lib lib)
case UWRAP_LIBC:
handle = uwrap.libc.handle;
if (handle == NULL) {
- for (handle = NULL, i = 10; handle == NULL && i >= 0; i--) {
+ for (i = 10; i >= 0; i--) {
char soname[256] = {0};
snprintf(soname, sizeof(soname), "libc.so.%d", i);
handle = dlopen(soname, flags);
+ if (handle != NULL) {
+ break;
+ }
}
uwrap.libc.handle = handle;