From e17f8b6119eb64d126422eda8a18d577cbdc9976 Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Wed, 9 Jun 2004 18:33:36 +0000 Subject: * sysdeps/generic/setenv.c (setenv): Return -1/EINVAL if name is NULL, "" or contains '=' character in it. Reported by Michael T Kerrisk . * stdlib/tst-environ.c: Include errno.h. (main): Add tests for these arguments to setenv/unsetenv. --- sysdeps/generic/setenv.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'sysdeps') diff --git a/sysdeps/generic/setenv.c b/sysdeps/generic/setenv.c index a19771391d..48aaecffe0 100644 --- a/sysdeps/generic/setenv.c +++ b/sysdeps/generic/setenv.c @@ -265,6 +265,12 @@ setenv (name, value, replace) const char *value; int replace; { + if (name == NULL || *name == '\0' || strchr (name, '=') != NULL) + { + __set_errno (EINVAL); + return -1; + } + return __add_to_environ (name, value, NULL, replace); } -- cgit v1.2.3