From 06933cc72445e12ee46b2930659eb5db0f9d6a43 Mon Sep 17 00:00:00 2001 From: Rich Felker Date: Sun, 26 Jun 2011 22:09:32 -0400 Subject: [PATCH] don't leave the lock held on dlopen failure.. --- src/ldso/dynlink.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ldso/dynlink.c b/src/ldso/dynlink.c index 1cab8d12..62dd9db7 100644 --- a/src/ldso/dynlink.c +++ b/src/ldso/dynlink.c @@ -509,7 +509,7 @@ void *dlopen(const char *file, int mode) } p = load_library(file); - if (!p) return 0; + if (!p) goto end; /* First load handling */ if (!p->deps) { @@ -531,8 +531,8 @@ void *dlopen(const char *file, int mode) p->global = 1; } +end: pthread_rwlock_unlock(&lock); - return p; } -- 2.25.1