diff --git a/src/bin/e_start_main.c b/src/bin/e_start_main.c index c5991bd34..e2011501f 100644 --- a/src/bin/e_start_main.c +++ b/src/bin/e_start_main.c @@ -27,9 +27,10 @@ env_set(const char *var, const char *val) setenv(var, val, 1); #else char *buf; + size_t size = strlen(var) + 1 + strlen(val) + 1; - buf = alloca(strlen(var) + 1 + strlen(val) + 1); - snprintf(buf, sizeof(buf), "%s=%s", var, val); + buf = alloca(size; + snprintf(buf, size, "%s=%s", var, val); if (getenv(var)) putenv(buf); else putenv(strdup(buf)); #endif