aboutsummaryrefslogtreecommitdiffstats
path: root/community/chromium/secure_getenv.patch
diff options
context:
space:
mode:
Diffstat (limited to 'community/chromium/secure_getenv.patch')
-rw-r--r--community/chromium/secure_getenv.patch38
1 files changed, 38 insertions, 0 deletions
diff --git a/community/chromium/secure_getenv.patch b/community/chromium/secure_getenv.patch
new file mode 100644
index 0000000000..b28b77ef79
--- /dev/null
+++ b/community/chromium/secure_getenv.patch
@@ -0,0 +1,38 @@
+diff --git a/third_party/angle/src/vulkan_support/BUILD.gn b/third_party/angle/src/vulkan_support/BUILD.gn
+index 51c8c10..fb70649 100644
+--- third_party/angle/src/vulkan_support/BUILD.gn
++++ third_party/angle/src/vulkan_support/BUILD.gn
+@@ -204,8 +204,8 @@ config("vulkan_loader_config") {
+ cflags = [ "/wd4201" ]
+ }
+ if (is_linux) {
+- # assume secure_getenv() is available
+- defines += [ "HAVE_SECURE_GETENV" ]
++ # assume getauxval() is available
++ defines += [ "HAVE_GETAUXVAL" ]
+ }
+ }
+
+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/vulkan-validation-layers/src/loader/loader.c
++++ 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.")