summaryrefslogtreecommitdiffstats
path: root/crypto
diff options
context:
space:
mode:
authorRichard Levitte <levitte@openssl.org>2018-12-20 10:17:38 +0100
committerRichard Levitte <levitte@openssl.org>2019-01-16 06:21:32 +0100
commit6ffcd10ade7fac6cd08dff3dba304b9d8d9de0a4 (patch)
treeb49e459217634b5c3e874409f4f480a6c04339d8 /crypto
parent0c13c8ece1fd88acf757e385bbc865e1e94382ed (diff)
crypto/uid.c: use own macro as guard rather than AT_SECURE
It turns out that AT_SECURE may be defined through other means than our inclusion of sys/auxv.h, so to be on the safe side, we define our own guard and use that to determine if getauxval() should be used or not. Fixes #7932 Reviewed-by: Paul Dale <paul.dale@oracle.com> (Merged from https://github.com/openssl/openssl/pull/7933) (cherry picked from commit aefb980c45134d84f1757de1a9c61d699c8a7e33)
Diffstat (limited to 'crypto')
-rw-r--r--crypto/uid.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/crypto/uid.c b/crypto/uid.c
index f7ae2610b3..e1c08a7f26 100644
--- a/crypto/uid.c
+++ b/crypto/uid.c
@@ -34,12 +34,13 @@ int OPENSSL_issetugid(void)
# if defined(__GLIBC__) && defined(__GLIBC_PREREQ)
# if __GLIBC_PREREQ(2, 16)
# include <sys/auxv.h>
+# define OSSL_IMPLEMENT_GETAUXVAL
# endif
# endif
int OPENSSL_issetugid(void)
{
-# ifdef AT_SECURE
+# ifdef OSSL_IMPLEMENT_GETAUXVAL
return getauxval(AT_SECURE) != 0;
# else
return getuid() != geteuid() || getgid() != getegid();