blob: 8c8234d038eafee9bd27ac568bf1834c30fc8738 [file] [log] [blame]
Brad Bishopc342db32019-05-15 21:57:59 -04001From 3d921155e0a761f61c8f1ec37328724aee1e2eda Mon Sep 17 00:00:00 2001
2From: Chris Lamb <chris@chris-lamb.co.uk>
3Date: Sun, 31 Mar 2019 15:59:45 +0100
4Subject: [PATCH 2/2] gettime: Use secure_getenv over getenv.
5
6Upstream-Status: Backport
7Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
8---
9 README | 1 +
10 configure.ac | 3 +++
11 lib/defines.h | 6 ++++++
12 libmisc/gettime.c | 2 +-
13 4 files changed, 11 insertions(+), 1 deletion(-)
14
15diff --git a/README b/README
16index 952ac5787f06..26cfff1e8fa8 100644
17--- a/README
18+++ b/README
19@@ -51,6 +51,7 @@ Brian R. Gaeke <brg@dgate.org>
20 Calle Karlsson <ckn@kash.se>
21 Chip Rosenthal <chip@unicom.com>
22 Chris Evans <lady0110@sable.ox.ac.uk>
23+Chris Lamb <chris@chris-lamb.co.uk>
24 Cristian Gafton <gafton@sorosis.ro>
25 Dan Walsh <dwalsh@redhat.com>
26 Darcy Boese <possum@chardonnay.niagara.com>
27diff --git a/configure.ac b/configure.ac
28index da236722766b..a738ad662cc3 100644
29--- a/configure.ac
30+++ b/configure.ac
31@@ -110,6 +110,9 @@ AC_REPLACE_FUNCS(sgetgrent sgetpwent sgetspent)
32 AC_REPLACE_FUNCS(snprintf strcasecmp strdup strerror strstr)
33
34 AC_CHECK_FUNC(setpgrp)
35+AC_CHECK_FUNC(secure_getenv, [AC_DEFINE(HAS_SECURE_GETENV,
36+ 1,
37+ [Defined to 1 if you have the declaration of 'secure_getenv'])])
38
39 if test "$ac_cv_header_shadow_h" = "yes"; then
40 AC_CACHE_CHECK(for working shadow group support,
41diff --git a/lib/defines.h b/lib/defines.h
42index cded1417fd12..2fb1b56eca6b 100644
43--- a/lib/defines.h
44+++ b/lib/defines.h
45@@ -382,4 +382,10 @@ extern char *strerror ();
46 # endif
47 #endif
48
49+#ifdef HAVE_SECURE_GETENV
50+# define shadow_getenv(name) secure_getenv(name)
51+# else
52+# define shadow_getenv(name) getenv(name)
53+#endif
54+
55 #endif /* _DEFINES_H_ */
56diff --git a/libmisc/gettime.c b/libmisc/gettime.c
57index 53eaf51670bb..0e25a4b75061 100644
58--- a/libmisc/gettime.c
59+++ b/libmisc/gettime.c
60@@ -52,7 +52,7 @@
61 unsigned long long epoch;
62
63 fallback = time (NULL);
64- source_date_epoch = getenv ("SOURCE_DATE_EPOCH");
65+ source_date_epoch = shadow_getenv ("SOURCE_DATE_EPOCH");
66
67 if (!source_date_epoch)
68 return fallback;
69--
702.17.1
71