From fa31987221872460239e99ce2db8467d468e78b2 Mon Sep 17 00:00:00 2001 From: Patrick Georgi Date: Sun, 14 Dec 2025 00:16:31 +0100 Subject: [PATCH] dtlogin: Avoid putenv to fix issue with passing stack address putenv doesn't copy the data, so the stack address used here is plain wrong. It _probably_ doesn't matter all that much because it's immediately followed by execv(), but let's keep things clean. --- cde/programs/dtlogin/vgcallback.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/cde/programs/dtlogin/vgcallback.c b/cde/programs/dtlogin/vgcallback.c index df8e35aba..f076f1482 100644 --- a/cde/programs/dtlogin/vgcallback.c +++ b/cde/programs/dtlogin/vgcallback.c @@ -1490,10 +1490,8 @@ RespondLangCB( Widget w, XtPointer client, XtPointer call) /** but it does work ok. **/ /** notice the related code in chooser.c at the **/ /** beginning of main. **/ - char buff[128]; if (XmToggleButtonGadgetGetState(w)) { - snprintf(buff, sizeof(buff), "LANG=%s", (char *) client); - putenv(buff); + setenv("LANG", client, 1); execv(orig_argv[0], orig_argv); } } else {