mirror of
git://git.musl-libc.org/musl
synced 2025-03-01 17:20:25 +00:00
explicitly reject empty names in dynamic linker load_library function
previously passing an empty string for name resulted in failure, as expected, but only after spurious syscalls, and it produced confusing errno values (and thus dlerror strings). in addition to dlopen calls, this issue affected use of LD_PRELOAD with trailing whitespace or colon characters.
This commit is contained in:
parent
349381aa8c
commit
59549313d8
@ -663,6 +663,11 @@ static struct dso *load_library(const char *name, struct dso *needed_by)
|
||||
int n_th = 0;
|
||||
int is_self = 0;
|
||||
|
||||
if (!*name) {
|
||||
errno = EINVAL;
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* Catch and block attempts to reload the implementation itself */
|
||||
if (name[0]=='l' && name[1]=='i' && name[2]=='b') {
|
||||
static const char *rp, reserved[] =
|
||||
|
Loading…
Reference in New Issue
Block a user