chiark / gitweb /
nss: use secure_getenv for behaviour-modifying booleans (#6817)
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Thu, 14 Sep 2017 07:20:27 +0000 (09:20 +0200)
committerSven Eden <yamakuzure@gmx.net>
Thu, 14 Sep 2017 07:20:27 +0000 (09:20 +0200)
Follow up for fe102d6ab15731a199a7ea9f38c4f68d8959f86c.

src/basic/env-util.c
src/basic/env-util.h

index 47c1fccd3b07eaabd65bdd02096168bbb7bf4307..1ddb5888f2934840937d97efcc3af30ce0efddde 100644 (file)
@@ -770,6 +770,16 @@ int getenv_bool(const char *p) {
         return parse_boolean(e);
 }
 
+int getenv_bool_secure(const char *p) {
+        const char *e;
+
+        e = secure_getenv(p);
+        if (!e)
+                return -ENXIO;
+
+        return parse_boolean(e);
+}
+
 int serialize_environment(FILE *f, char **environment) {
         char **e;
 
index f511c6dcc4b33b9e9301325b52c3a92d01160243..e8ef5119382bc5da469c38e8cd10dbf9b2b61f0a 100644 (file)
@@ -62,6 +62,7 @@ char *strv_env_get_n(char **l, const char *name, size_t k, unsigned flags) _pure
 char *strv_env_get(char **x, const char *n) _pure_;
 
 int getenv_bool(const char *p);
+int getenv_bool_secure(const char *p);
 
 int serialize_environment(FILE *f, char **environment);
 int deserialize_environment(char ***environment, const char *line);