diff options
author | Rich Felker <dalias@aerifal.cx> | 2011-08-16 07:46:42 -0400 |
---|---|---|
committer | Rich Felker <dalias@aerifal.cx> | 2011-08-16 07:46:42 -0400 |
commit | a045883365ccb404a63b7c56a42daf0851e579fa (patch) | |
tree | bcfda1c0d831294c040b07a44c652f279bf62fa5 | |
parent | 623753ad64a3625b010c10c00c45262d2eec2495 (diff) | |
download | musl-a045883365ccb404a63b7c56a42daf0851e579fa.tar.gz musl-a045883365ccb404a63b7c56a42daf0851e579fa.tar.xz musl-a045883365ccb404a63b7c56a42daf0851e579fa.zip |
honor AT_SECURE aux vector flag
-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 3fafb181..390f50ba 100644 --- a/src/ldso/dynlink.c +++ b/src/ldso/dynlink.c @@ -60,7 +60,7 @@ static int runtime; static jmp_buf rtld_fail; static pthread_rwlock_t lock; -#define AUX_CNT 15 +#define AUX_CNT 24 #define DYN_CNT 34 static void decode_vec(size_t *v, size_t *a, size_t cnt) @@ -491,7 +491,7 @@ void *__dynlink(int argc, char **argv, size_t *got) /* Only trust user/env if kernel says we're not suid/sgid */ if ((aux[0]&0x7800)!=0x7800 || aux[AT_UID]!=aux[AT_EUID] - || aux[AT_GID]!=aux[AT_EGID]) { + || aux[AT_GID]!=aux[AT_EGID] || aux[AT_SECURE]) { env_path = 0; env_preload = 0; } |