From 9a0b7642879229beaa08b9d9fe9337fe8ffb6a20 Mon Sep 17 00:00:00 2001 From: Thomas Adam Date: Wed, 27 Nov 2024 22:25:41 +0000 Subject: [PATCH] SetEnv: disallow '=' in envvar Don't allow '=' in the envvar as this breaks most/all shells. From somiaj. --- fvwm/builtins.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/fvwm/builtins.c b/fvwm/builtins.c index 1e87d64da..64dee89b8 100644 --- a/fvwm/builtins.c +++ b/fvwm/builtins.c @@ -3333,6 +3333,12 @@ void CMD_SetEnv(F_CMD_ARGS) { return; } + + if (strchr(szVar, '=') != NULL) { + fvwm_debug(__func__, "Invalid envvar: %s", szVar); + goto out; + } + action = GetNextToken(action, &szValue); if (!szValue) { @@ -3340,6 +3346,7 @@ void CMD_SetEnv(F_CMD_ARGS) } xasprintf(&szPutenv, "%s=%s", szVar, szValue); flib_putenv(szVar, szPutenv); +out: free(szVar); free(szPutenv); free(szValue);