diff --git a/src/syscall/syscall_aix.go b/src/syscall/syscall_aix.go index a9bd7a37336ddef8d8c33f68788287cc0a3f644a..36dfd90678804f104d6ba40756cc3a6620e9e0ba 100644 --- a/src/syscall/syscall_aix.go +++ b/src/syscall/syscall_aix.go @@ -119,11 +119,11 @@ func Getwd() (ret string, err error) { b := make([]byte, len) err := getcwd(&b[0], len) if err == nil { - i := 0 - for b[i] != 0 { - i++ + n := clen(b[:]) + if n < 1 { + return "", EINVAL } - return string(b[0:i]), nil + return string(b[:n]), nil } if err != ERANGE { return "", err