From: Alex Brainman Date: Fri, 15 Dec 2017 23:04:03 +0000 (+1100) Subject: os: do not forget to set ModeDevice when using ModeCharDevice X-Git-Tag: go1.11beta1~1458 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=9cae3aaf47de8c79c31ef53c1ed4e2db46214aea;p=gostls13.git os: do not forget to set ModeDevice when using ModeCharDevice Fixes #23123 Change-Id: Ia4ac947cc49ef3d150ef60a095b86552dcef397d Reviewed-on: https://go-review.googlesource.com/84435 Reviewed-by: Giovanni Bajo Reviewed-by: Ian Lance Taylor Run-TryBot: Giovanni Bajo --- diff --git a/src/os/os_test.go b/src/os/os_test.go index 5739dc207f..65a2d7e23a 100644 --- a/src/os/os_test.go +++ b/src/os/os_test.go @@ -1881,7 +1881,7 @@ func TestStatStdin(t *testing.T) { t.Fatal(err) } switch mode := fi.Mode(); { - case mode&ModeCharDevice != 0: + case mode&ModeCharDevice != 0 && mode&ModeDevice != 0: case mode&ModeNamedPipe != 0: default: t.Fatalf("unexpected Stdin mode (%v), want ModeCharDevice or ModeNamedPipe", mode) diff --git a/src/os/types_windows.go b/src/os/types_windows.go index 01d6b62a16..9fcc043284 100644 --- a/src/os/types_windows.go +++ b/src/os/types_windows.go @@ -48,7 +48,7 @@ func (fs *fileStat) Mode() (m FileMode) { case syscall.FILE_TYPE_PIPE: m |= ModeNamedPipe case syscall.FILE_TYPE_CHAR: - m |= ModeCharDevice + m |= ModeDevice | ModeCharDevice } return m }