Skip to content

Commit 57590c7

Browse files
kusmagitster
authored andcommitted
compat/setenv.c: update errno when erroring out
Previously, gitsetenv didn't update errno as it should when erroring out. Fix this. Signed-off-by: Erik Faye-Lund <[email protected]> Signed-off-by: Junio C Hamano <[email protected]>
1 parent 10dd3b2 commit 57590c7

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

compat/setenv.c

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,10 @@ int gitsetenv(const char *name, const char *value, int replace)
66
size_t namelen, valuelen;
77
char *envstr;
88

9-
if (!name || !value) return -1;
9+
if (!name || !value) {
10+
errno = EINVAL;
11+
return -1;
12+
}
1013
if (!replace) {
1114
char *oldval = NULL;
1215
oldval = getenv(name);
@@ -16,7 +19,10 @@ int gitsetenv(const char *name, const char *value, int replace)
1619
namelen = strlen(name);
1720
valuelen = strlen(value);
1821
envstr = malloc((namelen + valuelen + 2));
19-
if (!envstr) return -1;
22+
if (!envstr) {
23+
errno = ENOMEM;
24+
return -1;
25+
}
2026

2127
memcpy(envstr, name, namelen);
2228
envstr[namelen] = '=';

0 commit comments

Comments
 (0)