aboutsummaryrefslogtreecommitdiff
path: root/libgo/runtime/go-setenv.c
diff options
context:
space:
mode:
Diffstat (limited to 'libgo/runtime/go-setenv.c')
-rw-r--r--libgo/runtime/go-setenv.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/libgo/runtime/go-setenv.c b/libgo/runtime/go-setenv.c
index 53ef2d3..6c7378c 100644
--- a/libgo/runtime/go-setenv.c
+++ b/libgo/runtime/go-setenv.c
@@ -25,20 +25,25 @@ setenv_c (String k, String v)
unsigned char *vn;
ks = k.str;
+ if (ks == NULL)
+ ks = (const byte *) "";
kn = NULL;
+
vs = v.str;
+ if (vs == NULL)
+ vs = (const byte *) "";
vn = NULL;
#ifdef HAVE_SETENV
- if (ks[k.len] != 0)
+ if (ks != NULL && ks[k.len] != 0)
{
kn = __go_alloc (k.len + 1);
__builtin_memcpy (kn, ks, k.len);
ks = kn;
}
- if (vs[v.len] != 0)
+ if (vs != NULL && vs[v.len] != 0)
{
vn = __go_alloc (v.len + 1);
__builtin_memcpy (vn, vs, v.len);