[PATCH v2 1/4] compat/setenv.c: update errno when erroring out
- From
Erik Faye-Lund <kusmabite@gmail.com>
- Date
- Dec 14, 2011, 14:07 UTC
- Message-ID
- <1323871631-2872-2-git-send-email-kusmabite@gmail.com>
- In-Reply-To
- <1323871631-2872-1-git-send-email-kusmabite@gmail.com>
Previously, gitsetenv didn't update errno as it should when erroring out. Fix this.
Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com> --- compat/setenv.c | 10 ++++++++-- 1 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/compat/setenv.c b/compat/setenv.c index 3a22ea7..89947b7 100644 --- a/compat/setenv.c +++ b/compat/setenv.c @@ -6,7 +6,10 @@ int gitsetenv(const char *name, const char *value, int replace) size_t namelen, valuelen; char *envstr; - if (!name || !value) return -1; + if (!name || !value) { + errno = EINVAL; + return -1; + } if (!replace) { char *oldval = NULL; oldval = getenv(name); @@ -16,7 +19,10 @@ int gitsetenv(const char *name, const char *value, int replace) namelen = strlen(name); valuelen = strlen(value); envstr = malloc((namelen + valuelen + 2)); - if (!envstr) return -1; + if (!envstr) { + errno = ENOMEM; + return -1; + } memcpy(envstr, name, namelen); envstr[namelen] = '=';
-- 1.7.7.1.msysgit.0.272.g9e47e