aboutsummaryrefslogtreecommitdiffstats
path: root/community/chromium/secure_getenv.patch
blob: d142819ffb6df7185b21f3c7540d497a061b9497 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
diff --git a/third_party/vulkan-validation-layers/src/loader/loader.c b/third_party/vulkan-validation-layers/src/loader/loader.c
index facddc1..b6a8ee9 100644
--- ./third_party/angle/third_party/vulkan-validation-layers/src/loader/loader.c
+++ ./third_party/angle/third_party/vulkan-validation-layers/src/loader/loader.c
@@ -31,6 +31,9 @@
 #include <stdbool.h>
 #include <string.h>
 #include <stddef.h>
+#if defined(HAVE_GETAUXVAL)
+#include <sys/auxv.h>
+#endif
 
 #include <sys/types.h>
 #if defined(_WIN32)
@@ -218,6 +221,8 @@ static inline char *loader_secure_getenv(const char *name, const struct loader_i
     return secure_getenv(name);
 #elif defined(HAVE___SECURE_GETENV)
     return __secure_getenv(name);
+#elif defined(HAVE_GETAUXVAL)
+    return getauxval(AT_SECURE) ? NULL : getenv(name);
 #else
 #pragma message("Warning:  Falling back to non-secure getenv for environmental lookups!  Consider" \
                 " updating to a different libc.")
--- ./third_party/angle/third_party/vulkan-validation-layers/BUILD.gn.orig
+++ ./third_party/angle/third_party/vulkan-validation-layers/BUILD.gn
@@ -264,8 +264,7 @@
     cflags = [ "/wd4201" ]
   }
   if (is_linux) {
-    # assume secure_getenv() is available
-    defines += [ "HAVE_SECURE_GETENV" ]
+    defines += [ "HAVE_GETAUXVAL" ]
   }
 }