From: Rich Felker Date: Mon, 27 Jun 2011 02:09:32 +0000 (-0400) Subject: don't leave the lock held on dlopen failure.. X-Git-Url: http://nsz.repo.hu/git/?p=musl;a=commitdiff_plain;h=06933cc72445e12ee46b2930659eb5db0f9d6a43 don't leave the lock held on dlopen failure.. --- 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; }