From e488ee55bc4bbdd77872b4b4ce7fe69eccc4795a Mon Sep 17 00:00:00 2001 From: Andriy Gapon Date: Tue, 16 Jul 2013 07:26:46 +0000 Subject: [PATCH] libc: name passed into __setenv is not necessarily NUL-terminated That's particularly true when __setenv is called from __merge_environ. MFC after: 4 days --- lib/libc/stdlib/getenv.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/libc/stdlib/getenv.c b/lib/libc/stdlib/getenv.c index 47963d53dd6..079b024dcfa 100644 --- a/lib/libc/stdlib/getenv.c +++ b/lib/libc/stdlib/getenv.c @@ -505,7 +505,7 @@ __setenv(const char *name, size_t nameLen, const char *value, int overwrite) envVars[envNdx].valueSize = valueLen; /* Save name of name/value pair. */ - env = stpcpy(envVars[envNdx].name, name); + env = stpncpy(envVars[envNdx].name, name, nameLen); if ((envVars[envNdx].name)[nameLen] != '=') env = stpcpy(env, "="); }