diff options
Diffstat (limited to 'libgo/go/syscall/env_unix.go')
-rw-r--r-- | libgo/go/syscall/env_unix.go | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/libgo/go/syscall/env_unix.go b/libgo/go/syscall/env_unix.go index c1a02135f4f..f47947140d7 100644 --- a/libgo/go/syscall/env_unix.go +++ b/libgo/go/syscall/env_unix.go @@ -71,6 +71,16 @@ func Setenv(key, value string) error { if len(key) == 0 { return EINVAL } + for i := 0; i < len(key); i++ { + if key[i] == '=' || key[i] == 0 { + return EINVAL + } + } + for i := 0; i < len(value); i++ { + if value[i] == 0 { + return EINVAL + } + } envLock.Lock() defer envLock.Unlock() |