add secure_getenv function
authorPetr Vaněk <arkamar@atlas.cz>
Tue, 28 May 2019 20:47:48 +0000 (22:47 +0200)
committerRich Felker <dalias@aerifal.cx>
Thu, 8 Aug 2019 15:33:18 +0000 (11:33 -0400)
This function is a GNU extension introduced in glibc 2.17.

include/stdlib.h
src/env/secure_getenv.c [new file with mode: 0644]

index 42ca83363877206237bad82fa4e116984832cb10..194c20339ecda2480663258a9ad7712ebc2c1b86 100644 (file)
@@ -152,6 +152,7 @@ int ptsname_r(int, char *, size_t);
 char *ecvt(double, int, int *, int *);
 char *fcvt(double, int, int *, int *);
 char *gcvt(double, int, char *);
+char *secure_getenv(const char *);
 struct __locale_struct;
 float strtof_l(const char *__restrict, char **__restrict, struct __locale_struct *);
 double strtod_l(const char *__restrict, char **__restrict, struct __locale_struct *);
diff --git a/src/env/secure_getenv.c b/src/env/secure_getenv.c
new file mode 100644 (file)
index 0000000..72322f8
--- /dev/null
@@ -0,0 +1,8 @@
+#define _GNU_SOURCE
+#include <stdlib.h>
+#include "libc.h"
+
+char *secure_getenv(const char *name)
+{
+       return libc.secure ? NULL : getenv(name);
+}