]> Cypherpunks repositories - gostls13.git/commitdiff
os: do not forget to set ModeDevice when using ModeCharDevice
authorAlex Brainman <alex.brainman@gmail.com>
Fri, 15 Dec 2017 23:04:03 +0000 (10:04 +1100)
committerBrad Fitzpatrick <bradfitz@golang.org>
Mon, 26 Feb 2018 17:02:29 +0000 (17:02 +0000)
Fixes #23123

Change-Id: Ia4ac947cc49ef3d150ef60a095b86552dcef397d
Reviewed-on: https://go-review.googlesource.com/84435
Reviewed-by: Giovanni Bajo <rasky@develer.com>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Run-TryBot: Giovanni Bajo <rasky@develer.com>

src/os/os_test.go
src/os/types_windows.go

index 5739dc207f4b509a7eca166b2018d287024e7b32..65a2d7e23a8eb59c949569d06fe167e69c9c59c8 100644 (file)
@@ -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)
index 01d6b62a16ec2d1c601958d9f7438874839e8d86..9fcc0432848c844a4318f5372df4c3062fd2838d 100644 (file)
@@ -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
 }