| /* | 
 |  * Copyright 2018 The OpenSSL Project Authors. All Rights Reserved. | 
 |  * | 
 |  * Licensed under the OpenSSL license (the "License").  You may not use | 
 |  * this file except in compliance with the License.  You can obtain a copy | 
 |  * in the file LICENSE in the source distribution or at | 
 |  * https://www.openssl.org/source/license.html | 
 |  */ | 
 |  | 
 | #ifndef _GNU_SOURCE | 
 | # define _GNU_SOURCE | 
 | #endif | 
 |  | 
 | #include <stdlib.h> | 
 | #include "internal/cryptlib.h" | 
 |  | 
 | char *ossl_safe_getenv(const char *name) | 
 | { | 
 | #if defined(__GLIBC__) && defined(__GLIBC_PREREQ) | 
 | # if __GLIBC_PREREQ(2, 17) | 
 | #  define SECURE_GETENV | 
 |     return secure_getenv(name); | 
 | # endif | 
 | #endif | 
 |  | 
 | #ifndef SECURE_GETENV | 
 |     if (OPENSSL_issetugid()) | 
 |         return NULL; | 
 |     return getenv(name); | 
 | #endif | 
 | } |