12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- #include <config.h>
- #include <stdlib.h>
- #if !HAVE___SECURE_GETENV
- # if HAVE_ISSETUGID || (HAVE_GETUID && HAVE_GETEUID && HAVE_GETGID && HAVE_GETEGID)
- # include <unistd.h>
- # endif
- #endif
- char *
- secure_getenv (char const *name)
- {
- #if HAVE___SECURE_GETENV
- return __secure_getenv (name);
- #elif HAVE_ISSETUGID
- if (issetugid ())
- return NULL;
- return getenv (name);
- #elif HAVE_GETUID && HAVE_GETEUID && HAVE_GETGID && HAVE_GETEGID
- if (geteuid () != getuid () || getegid () != getgid ())
- return NULL;
- return getenv (name);
- #elif (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
-
- return getenv (name);
- #else
- return NULL;
- #endif
- }
|