From d0537cb7f2dc5877700ad78dfd191515379d4edc Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Thu, 7 Jan 2016 02:22:51 +0000
Subject: [PATCH 1/2] Check for issetugid()

If secure version of getenv is not there then we can use
issetugid() as aid to call getenv()

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
Upstream-Status: Pending

 configure.ac |  1 +
 lib/config.c | 12 +++++++++++-
 2 files changed, 12 insertions(+), 1 deletion(-)

diff --git a/configure.ac b/configure.ac
index 1ded1a2..ee19e1f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -125,6 +125,7 @@ AC_TYPE_OFF_T
 AC_TYPE_SIZE_T
 
 AC_CHECK_FUNCS([__secure_getenv secure_getenv])
+AC_CHECK_FUNCS([issetugid])
 
 # Modify CFLAGS after all tests are run (some of them could fail because
 # of the -Werror).
diff --git a/lib/config.c b/lib/config.c
index 29e7120..30f9daf 100644
--- a/lib/config.c
+++ b/lib/config.c
@@ -44,8 +44,10 @@
 #  define safe_getenv(string) secure_getenv(string)
 #elif defined(HAVE___SECURE_GETENV)
 #  define safe_getenv(string) __secure_getenv(string)
+#elif defined(HAVE_ISSETUGID)
+#  define safe_getenv(string) safe_getenv_issetugid(string)
 #else
-#  error Neither secure_getenv not __secure_getenv are available
+#  error None of secure_getenv, __secure_getenv, or issetugid is available
 #endif
 
 struct config_config {
@@ -59,6 +61,14 @@ struct config_key {
 	GList *values;
 };
 
+static const char*
+safe_getenv_issetugid(const char* name)
+{
+	if (issetugid ())
+		return 0;
+	return getenv (name);
+}
+
 /* Compare two section names */
 static int
 compare_section_names(gconstpointer a, gconstpointer b)
-- 
2.7.0

