summaryrefslogtreecommitdiff
path: root/compat/setenv.c
diff options
context:
space:
mode:
authorErik Faye-Lund <kusmabite@gmail.com>2011-12-14 14:07:09 (GMT)
committerJunio C Hamano <gitster@pobox.com>2011-12-15 03:31:03 (GMT)
commit6ac1b2a3b8bd970e9fc175c42927f00d4d465bbf (patch)
treec833eace46cc906bf659f7f765ff410b0a24fb66 /compat/setenv.c
parent57590c72b4d3b02e32732c7d79514c0281d6c2b5 (diff)
downloadgit-6ac1b2a3b8bd970e9fc175c42927f00d4d465bbf.zip
git-6ac1b2a3b8bd970e9fc175c42927f00d4d465bbf.tar.gz
git-6ac1b2a3b8bd970e9fc175c42927f00d4d465bbf.tar.bz2
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>
Diffstat (limited to 'compat/setenv.c')
-rw-r--r--compat/setenv.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/compat/setenv.c b/compat/setenv.c
index 89947b7..fc1439a 100644
--- a/compat/setenv.c
+++ b/compat/setenv.c
@@ -6,7 +6,7 @@ int gitsetenv(const char *name, const char *value, int replace)
size_t namelen, valuelen;
char *envstr;
- if (!name || !value) {
+ if (!name || strchr(name, '=') || !value) {
errno = EINVAL;
return -1;
}