diff options
author | Konstantin Belousov <kib@FreeBSD.org> | 2024-04-28 20:57:54 +0000 |
---|---|---|
committer | Konstantin Belousov <kib@FreeBSD.org> | 2024-04-30 00:26:49 +0000 |
commit | ef2694f368cee5957ee44b0298da88ff8360d561 (patch) | |
tree | 338985dc9ebb97785ed89450b369cf1250f47579 | |
parent | d1cd0cc32b53c09e72e33116b94a5b0b9781a183 (diff) | |
download | src-ef2694f368cee5957ee44b0298da88ff8360d561.tar.gz src-ef2694f368cee5957ee44b0298da88ff8360d561.zip |
rtld direct exec: make -u behavior match the description
Instead of only ignoring insecure env vars, clear them all.
Reviewed by: emaste, markj
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D44999
-rw-r--r-- | libexec/rtld-elf/rtld.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/libexec/rtld-elf/rtld.c b/libexec/rtld-elf/rtld.c index f5a2eeb37f10..5743bbdd6f61 100644 --- a/libexec/rtld-elf/rtld.c +++ b/libexec/rtld-elf/rtld.c @@ -6189,7 +6189,10 @@ parse_args(char* argv[], int argc, bool *use_pathp, int *fdp, } else if (opt == 'p') { *use_pathp = true; } else if (opt == 'u') { - trust = false; + u_int ll; + + for (ll = 0; ll < nitems(ld_env_vars); ll++) + ld_env_vars[ll].val = NULL; } else if (opt == 'v') { machine[0] = '\0'; mib[0] = CTL_HW; |