compat/setenv.c: error if name contains '='
According to POSIX, setenv should error out with EINVAL if it's asked to set an environment variable whose name contains an equals sign. Implement this detail in our compatibility-fallback. Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Erik Faye-Lund committed
Dec 14, 2011 at 15:07 UTC
6ac1b2a3b8bd970e9fc175c42927f00d4d465bbf
1 file changed
+1
-1
compat/setenv.c
+1
-1
@@ -6,7 +6,7 @@ int gitsetenv(const char *name, const char *value, int replace)
6
size_t namelen, valuelen;
7
char *envstr;
8
9
- if (!name || !value) {
9
+ if (!name || strchr(name, '=') || !value) {
10
errno = EINVAL;
11
return -1;
12
}