summaryrefslogtreecommitdiff
path: root/usr.bin/env
diff options
context:
space:
mode:
authorSean Farley <scf@FreeBSD.org>2007-07-04 00:00:41 +0000
committerSean Farley <scf@FreeBSD.org>2007-07-04 00:00:41 +0000
commit2966d28c322dcfa4b9db2558da0b91839e7798b9 (patch)
tree423c7d016f87f6541b9ef8231a14f8b267bc5d5e /usr.bin/env
parentf6c1ecca50279edac3eb930eecd72ff23bfd85dc (diff)
downloadsrc-test2-2966d28c322dcfa4b9db2558da0b91839e7798b9.tar.gz
src-test2-2966d28c322dcfa4b9db2558da0b91839e7798b9.zip
Notes
Diffstat (limited to 'usr.bin/env')
-rw-r--r--usr.bin/env/env.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/usr.bin/env/env.c b/usr.bin/env/env.c
index 815976fe5f7a..b11a0b772e91 100644
--- a/usr.bin/env/env.c
+++ b/usr.bin/env/env.c
@@ -67,6 +67,7 @@ main(int argc, char **argv)
char *altpath, **ep, *p, **parg;
char *cleanenv[1];
int ch, want_clear;
+ int rtrn;
altpath = NULL;
want_clear = 0;
@@ -105,7 +106,11 @@ main(int argc, char **argv)
for (argv += optind; *argv && (p = strchr(*argv, '=')); ++argv) {
if (env_verbosity)
fprintf(stderr, "#env setenv:\t%s\n", *argv);
- (void)setenv(*argv, ++p, 1);
+ *p = '\0';
+ rtrn = setenv(*argv, p + 1, 1);
+ *p = '=';
+ if (rtrn == -1)
+ err(EXIT_FAILURE, "setenv %s", *argv);
}
if (*argv) {
if (altpath)