1
0
mirror of https://github.com/golang/go synced 2024-11-11 21:50:21 -07:00

syscall: fix Write(nil) on NaCl

Fixes #7050.

LGTM=crawshaw, r
R=golang-codereviews, crawshaw, r
CC=golang-codereviews
https://golang.org/cl/91590043
This commit is contained in:
Russ Cox 2014-05-20 11:38:34 -04:00
parent a4a1fadfa2
commit 82854d7b39
2 changed files with 25 additions and 0 deletions

View File

@ -162,7 +162,13 @@ func Read(fd int, b []byte) (int, error) {
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

View File

@ -0,0 +1,19 @@
// run
// Copyright 2014 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package main
import (
"fmt"
"os"
)
func main() {
_, err := os.Stdout.Write(nil)
if err != nil {
fmt.Printf("BUG: os.Stdout.Write(nil) = %v\n", err)
}
}