diff options
| author | Rich Felker <dalias@aerifal.cx> | 2011-06-26 22:09:32 -0400 | 
|---|---|---|
| committer | Rich Felker <dalias@aerifal.cx> | 2011-06-26 22:09:32 -0400 | 
| commit | 06933cc72445e12ee46b2930659eb5db0f9d6a43 (patch) | |
| tree | 9ab9204e3bad1a0c4277eae37488ef708adeb858 /src | |
| parent | 97507bde474b0091a28628a7dae943c377758d49 (diff) | |
| download | musl-06933cc72445e12ee46b2930659eb5db0f9d6a43.tar.gz | |
don't leave the lock held on dlopen failure..
Diffstat (limited to 'src')
| -rw-r--r-- | src/ldso/dynlink.c | 4 | 
1 files 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;  } | 
