syscall: fix Write(nil) on NaCl

Fixes #7050.

LGTM=crawshaw, r
R=golang-codereviews, crawshaw, r
CC=golang-codereviews
https://golang.org/cl/91590043
diff --git a/src/pkg/syscall/fd_nacl.go b/src/pkg/syscall/fd_nacl.go
index 19cd98a..7432414 100644
--- a/src/pkg/syscall/fd_nacl.go
+++ b/src/pkg/syscall/fd_nacl.go
@@ -162,7 +162,13 @@
 	return f.impl.read(b)
 }
 
+var zerobuf [0]byte
+
 func Write(fd int, b []byte) (int, error) {
+	if b == nil {
+		// avoid nil in syscalls; nacl doesn't like that.
+		b = zerobuf[:]
+	}
 	f, err := fdToFile(fd)
 	if err != nil {
 		return 0, err