From a0e52feba1da31f884fee8e76a56d1d654589e07 Mon Sep 17 00:00:00 2001 From: Stefano Bonicatti Date: Wed, 5 Feb 2025 15:40:13 +0100 Subject: [PATCH] Fix stack-use-after-scope reading QT_QPA_PLATFORM env var Setting QT_QPA_PLATFORM with putenv from a local variable causes the environment to later still refer to it when it's out of scope. Use setenv instead, as it copies the values provided. --- qrenderdoc/Code/qrenderdoc.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/qrenderdoc/Code/qrenderdoc.cpp b/qrenderdoc/Code/qrenderdoc.cpp index d7173fbb2..90e94b65f 100644 --- a/qrenderdoc/Code/qrenderdoc.cpp +++ b/qrenderdoc/Code/qrenderdoc.cpp @@ -203,10 +203,9 @@ int main(int argc, char *argv[]) { const char *qpa_plat = getenv("QT_QPA_PLATFORM"); // if not set or empty, force non-wayland to help go through backwards compatibility path on wayland. - char env_set[] = "QT_QPA_PLATFORM=xcb\0"; if(!qpa_plat || qpa_plat[0] == 0) { - putenv(env_set); + setenv("QT_QPA_PLATFORM", "xcb", 1); envChanged = true; } }