diff options
Diffstat (limited to 'libc/misc/internals')
-rw-r--r-- | libc/misc/internals/__uClibc_main.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/libc/misc/internals/__uClibc_main.c b/libc/misc/internals/__uClibc_main.c index a37751f2d..1f1e601e8 100644 --- a/libc/misc/internals/__uClibc_main.c +++ b/libc/misc/internals/__uClibc_main.c @@ -40,6 +40,14 @@ #include <locale.h> #endif +/* Are we in a secure process environment or are we dealing + * with setuid stuff? If we are dynamically linked, then we + * already have _dl_secure, otherwise we need to re-examine + * auxvt[] below. + */ +int _pe_secure = 0; +libc_hidden_data_def(_pe_secure) + #ifndef SHARED void *__libc_stack_end = NULL; @@ -391,7 +399,10 @@ void __uClibc_main(int (*main)(int, char **, char **), int argc, __check_one_fd (STDIN_FILENO, O_RDONLY | O_NOFOLLOW); __check_one_fd (STDOUT_FILENO, O_RDWR | O_NOFOLLOW); __check_one_fd (STDERR_FILENO, O_RDWR | O_NOFOLLOW); + _pe_secure = 1 ; } + else + _pe_secure = 0 ; #endif __uclibc_progname = *argv; |