]> git.ipfire.org Git - thirdparty/gnutls.git/commitdiff
env: use secure_getenv when reading environment variables
authorNikos Mavrogiannopoulos <nmav@gnutls.org>
Fri, 27 May 2016 20:26:02 +0000 (22:26 +0200)
committerNikos Mavrogiannopoulos <nmav@gnutls.org>
Fri, 27 May 2016 20:26:02 +0000 (22:26 +0200)
lib/fips.c
lib/global.c
lib/mem.h
lib/priority.c
lib/system.c

index 2fdc80a4d5e1cdab61f853d5caf4621888dd18f8..402b74f1b0f250a4d3d0383ff0c9e0ce8761b512 100644 (file)
@@ -55,12 +55,12 @@ const char *p;
        if (_fips_mode != -1)
                return _fips_mode;
 
-       p = getenv("GNUTLS_SKIP_FIPS_INTEGRITY_CHECKS");
+       p = secure_getenv("GNUTLS_SKIP_FIPS_INTEGRITY_CHECKS");
        if (p && p[0] == '1') {
                _skip_integrity_checks = 1;
        }
 
-       p = getenv("GNUTLS_FORCE_FIPS_MODE");
+       p = secure_getenv("GNUTLS_FORCE_FIPS_MODE");
        if (p) {
                if (p[0] == '1')
                        _fips_mode = 1;
index 79c46bcd812697175ab17e6d87a7be50b57a8195..ef05efaba188ca40776a0a769b4fb71a1e6f3872 100644 (file)
@@ -242,11 +242,11 @@ int gnutls_global_init(void)
 
        _gnutls_switch_lib_state(LIB_STATE_INIT);
 
-       _gnutls_keylogfile = getenv("GNUTLS_KEYLOGFILE");
+       _gnutls_keylogfile = secure_getenv("GNUTLS_KEYLOGFILE");
        if (_gnutls_keylogfile == NULL)
-               _gnutls_keylogfile = getenv("SSLKEYLOGFILE");
+               _gnutls_keylogfile = secure_getenv("SSLKEYLOGFILE");
 
-       e = getenv("GNUTLS_DEBUG_LEVEL");
+       e = secure_getenv("GNUTLS_DEBUG_LEVEL");
        if (e != NULL) {
                level = atoi(e);
                gnutls_global_set_log_level(level);
@@ -483,7 +483,7 @@ const char *e;
        if (_gnutls_global_init_skip() != 0)
                return;
 
-       e = getenv("GNUTLS_NO_EXPLICIT_INIT");
+       e = secure_getenv("GNUTLS_NO_EXPLICIT_INIT");
        if (e != NULL) {
                ret = atoi(e);
                if (ret == 1)
@@ -504,7 +504,7 @@ static void _DESTRUCTOR lib_deinit(void)
        if (_gnutls_global_init_skip() != 0)
                return;
 
-       e = getenv("GNUTLS_NO_EXPLICIT_INIT");
+       e = secure_getenv("GNUTLS_NO_EXPLICIT_INIT");
        if (e != NULL) {
                int ret = atoi(e);
                if (ret == 1)
index 3ae5fd13e67c5918f53182cdd0ef13772c016320..964a8713182adf4945b8d2fcb4782f54ac1e9ec4 100644 (file)
--- a/lib/mem.h
+++ b/lib/mem.h
@@ -23,6 +23,8 @@
 #ifndef GNUTLS_MEM_H
 #define GNUTLS_MEM_H
 
+#include <config.h>
+
 /* this realloc function will return ptr if size==0, and
  * will free the ptr if the new allocation failed.
  */
@@ -42,6 +44,10 @@ int safe_memcmp(const void *s1, const void *s2, size_t n)
         return memcmp(s1, s2, n);
 }
 
+#ifndef HAVE_SECURE_GETENV
+# define secure_getenv getenv
+#endif
+
 #define zrelease_mpi_key(mpi) if (*mpi!=NULL) { \
                 _gnutls_mpi_clear(*mpi); \
                 _gnutls_mpi_release(mpi); \
index a2507882f77f91fb58cb7400f3a537364685376b..14b6251a172c73188cefca615f95aca6162027a8 100644 (file)
@@ -933,7 +933,7 @@ void _gnutls_load_system_priorities(void)
        const char *p;
        int ret;
 
-       p = getenv("GNUTLS_SYSTEM_PRIORITY_FILE");
+       p = secure_getenv("GNUTLS_SYSTEM_PRIORITY_FILE");
        if (p != NULL)
                system_priority_file = p;
 
index 9cc63441754ed5fd4fa58edef04b38beda29e2e1..5c9bc6e68fc2603ae4f8a7fb6c07f729e38473ab 100644 (file)
@@ -366,7 +366,7 @@ void gnutls_system_global_deinit(void)
  */
 int _gnutls_find_config_path(char *path, size_t max_size)
 {
-       const char *home_dir = getenv("HOME");
+       const char *home_dir = secure_getenv("HOME");
 
        if (home_dir != NULL && home_dir[0] != 0) {
                snprintf(path, max_size, "%s/" CONFIG_PATH, home_dir);