From 9d06cfc810692911372b80b7ef0dc080ee1d34d4 Mon Sep 17 00:00:00 2001 From: David du Colombier <0intro@gmail.com> Date: Mon, 20 Oct 2014 23:03:03 +0200 Subject: [PATCH] runtime: handle non-nil-terminated environment strings on Plan 9 Russ Cox pointed out that environment strings are not required to be nil-terminated on Plan 9. LGTM=rsc R=rsc CC=golang-codereviews https://golang.org/cl/159130044 --- src/runtime/env_plan9.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/runtime/env_plan9.go b/src/runtime/env_plan9.go index 76e9867e03..e442c34835 100644 --- a/src/runtime/env_plan9.go +++ b/src/runtime/env_plan9.go @@ -30,7 +30,7 @@ func gogetenv(key string) string { if fd < 0 { return "" } - n := seek(fd, 0, 2) - 1 + n := seek(fd, 0, 2) if n <= 0 { close(fd) return "" @@ -44,6 +44,10 @@ func gogetenv(key string) string { return "" } + if p[r-1] == 0 { + r-- + } + var s string sp := (*_string)(unsafe.Pointer(&s)) sp.str = &p[0] -- 2.50.0