src/syscall/syscall_aix.go | 6 ++++-- src/syscall/syscall_darwin.go | 6 ++++-- src/syscall/syscall_dragonfly.go | 7 +++++-- src/syscall/syscall_freebsd.go | 6 ++++-- src/syscall/syscall_linux_386.go | 12 ++++++++---- src/syscall/syscall_linux_amd64.go | 12 ++++++++---- src/syscall/syscall_linux_arm.go | 12 ++++++++---- src/syscall/syscall_linux_arm64.go | 12 ++++++++---- src/syscall/syscall_linux_mips64x.go | 12 ++++++++---- src/syscall/syscall_linux_mipsx.go | 13 +++++++++---- src/syscall/syscall_linux_ppc64x.go | 12 ++++++++---- src/syscall/syscall_linux_riscv64.go | 12 ++++++++---- src/syscall/syscall_linux_s390x.go | 12 ++++++++---- src/syscall/syscall_netbsd.go | 6 ++++-- src/syscall/syscall_openbsd.go | 6 ++++-- src/syscall/syscall_plan9.go | 6 ++++-- src/syscall/syscall_solaris.go | 4 +++- diff --git a/src/syscall/syscall_aix.go b/src/syscall/syscall_aix.go index 9c6afba442e2f2adf2227fb05845af8aeee9ddc4..db289fd39c12ac6c1ec3ba6fa4ee67ad973a0e23 100644 --- a/src/syscall/syscall_aix.go +++ b/src/syscall/syscall_aix.go @@ -64,8 +64,10 @@ return EINVAL } var pp [2]_C_int err = pipe(&pp) - p[0] = int(pp[0]) - p[1] = int(pp[1]) + if err == nil { + p[0] = int(pp[0]) + p[1] = int(pp[1]) + } return } diff --git a/src/syscall/syscall_darwin.go b/src/syscall/syscall_darwin.go index afdadbf89468d728cc94613ab3c7f0d6c6afb529..2d4aa5867e005c47de36647c3d1f7abaef9b557e 100644 --- a/src/syscall/syscall_darwin.go +++ b/src/syscall/syscall_darwin.go @@ -93,8 +93,10 @@ return EINVAL } var q [2]int32 err = pipe(&q) - p[0] = int(q[0]) - p[1] = int(q[1]) + if err == nil { + p[0] = int(q[0]) + p[1] = int(q[1]) + } return } diff --git a/src/syscall/syscall_dragonfly.go b/src/syscall/syscall_dragonfly.go index 0988fe46088a8818b70ac3b82ce7ca987d5248ed..b3be59d02d903fc6c1509d96cd126fbe4ccf0be1 100644 --- a/src/syscall/syscall_dragonfly.go +++ b/src/syscall/syscall_dragonfly.go @@ -96,8 +96,11 @@ func Pipe(p []int) (err error) { if len(p) != 2 { return EINVAL } - p[0], p[1], err = pipe() - return + r, w, err := pipe() + if err == nil { + p[0], p[1] = r, w + } + return err } //sys extpread(fd int, p []byte, flags int, offset int64) (n int, err error) diff --git a/src/syscall/syscall_freebsd.go b/src/syscall/syscall_freebsd.go index 7c7b89aab9030aa91683b372267d96bb49166217..ad904d69817120639867dc3ca7fb8914d0d38efd 100644 --- a/src/syscall/syscall_freebsd.go +++ b/src/syscall/syscall_freebsd.go @@ -105,8 +105,10 @@ return EINVAL } var pp [2]_C_int err := pipe2(&pp, flags) - p[0] = int(pp[0]) - p[1] = int(pp[1]) + if err == nil { + p[0] = int(pp[0]) + p[1] = int(pp[1]) + } return err } diff --git a/src/syscall/syscall_linux_386.go b/src/syscall/syscall_linux_386.go index ed5264740346bad129dc8feaeb7fcc15fb2650d8..f08007b278613622130ba447de59195d19ae16b0 100644 --- a/src/syscall/syscall_linux_386.go +++ b/src/syscall/syscall_linux_386.go @@ -30,8 +30,10 @@ return EINVAL } var pp [2]_C_int err = pipe(&pp) - p[0] = int(pp[0]) - p[1] = int(pp[1]) + if err == nil { + p[0] = int(pp[0]) + p[1] = int(pp[1]) + } return } @@ -43,8 +45,10 @@ return EINVAL } var pp [2]_C_int err = pipe2(&pp, flags) - p[0] = int(pp[0]) - p[1] = int(pp[1]) + if err == nil { + p[0] = int(pp[0]) + p[1] = int(pp[1]) + } return } diff --git a/src/syscall/syscall_linux_amd64.go b/src/syscall/syscall_linux_amd64.go index 5df3f796d1677785114bad853ae8479e8fee83b6..896117adc847534782d9870b09c02fd2abc40cbb 100644 --- a/src/syscall/syscall_linux_amd64.go +++ b/src/syscall/syscall_linux_amd64.go @@ -118,8 +118,10 @@ return EINVAL } var pp [2]_C_int err = pipe(&pp) - p[0] = int(pp[0]) - p[1] = int(pp[1]) + if err == nil { + p[0] = int(pp[0]) + p[1] = int(pp[1]) + } return } @@ -131,8 +133,10 @@ return EINVAL } var pp [2]_C_int err = pipe2(&pp, flags) - p[0] = int(pp[0]) - p[1] = int(pp[1]) + if err == nil { + p[0] = int(pp[0]) + p[1] = int(pp[1]) + } return } diff --git a/src/syscall/syscall_linux_arm.go b/src/syscall/syscall_linux_arm.go index 4a3729f8981b520df330b24674abc1e61b8b1948..8f21f17d6f578fe4f59f6483b18c8f55c0126099 100644 --- a/src/syscall/syscall_linux_arm.go +++ b/src/syscall/syscall_linux_arm.go @@ -34,8 +34,10 @@ err = pipe2(&pp, 0) if err == ENOSYS { err = pipe(&pp) } - p[0] = int(pp[0]) - p[1] = int(pp[1]) + if err == nil { + p[0] = int(pp[0]) + p[1] = int(pp[1]) + } return } @@ -47,8 +49,10 @@ return EINVAL } var pp [2]_C_int err = pipe2(&pp, flags) - p[0] = int(pp[0]) - p[1] = int(pp[1]) + if err == nil { + p[0] = int(pp[0]) + p[1] = int(pp[1]) + } return } diff --git a/src/syscall/syscall_linux_arm64.go b/src/syscall/syscall_linux_arm64.go index f575c84c930c2d0a884893289a285a939a0b4b07..bfa7be96aa30914529502b823609ebea575b38c1 100644 --- a/src/syscall/syscall_linux_arm64.go +++ b/src/syscall/syscall_linux_arm64.go @@ -152,8 +152,10 @@ return EINVAL } var pp [2]_C_int err = pipe2(&pp, 0) - p[0] = int(pp[0]) - p[1] = int(pp[1]) + if err == nil { + p[0] = int(pp[0]) + p[1] = int(pp[1]) + } return } @@ -165,8 +167,10 @@ return EINVAL } var pp [2]_C_int err = pipe2(&pp, flags) - p[0] = int(pp[0]) - p[1] = int(pp[1]) + if err == nil { + p[0] = int(pp[0]) + p[1] = int(pp[1]) + } return } diff --git a/src/syscall/syscall_linux_mips64x.go b/src/syscall/syscall_linux_mips64x.go index ab25b7be6f1313579973f7d6493239cd1dbd52b0..bb69b1dffb787f739c87b30af73d967eb7554cd2 100644 --- a/src/syscall/syscall_linux_mips64x.go +++ b/src/syscall/syscall_linux_mips64x.go @@ -108,8 +108,10 @@ return EINVAL } var pp [2]_C_int err = pipe2(&pp, 0) - p[0] = int(pp[0]) - p[1] = int(pp[1]) + if err == nil { + p[0] = int(pp[0]) + p[1] = int(pp[1]) + } return } @@ -121,8 +123,10 @@ return EINVAL } var pp [2]_C_int err = pipe2(&pp, flags) - p[0] = int(pp[0]) - p[1] = int(pp[1]) + if err == nil { + p[0] = int(pp[0]) + p[1] = int(pp[1]) + } return } diff --git a/src/syscall/syscall_linux_mipsx.go b/src/syscall/syscall_linux_mipsx.go index 377946fc92dd0b7103839228c4d5661fc47d6371..99a3fad40121c0852900bbad6edec6f3b13865e9 100644 --- a/src/syscall/syscall_linux_mipsx.go +++ b/src/syscall/syscall_linux_mipsx.go @@ -119,8 +119,10 @@ return EINVAL } var pp [2]_C_int err = pipe2(&pp, flags) - p[0] = int(pp[0]) - p[1] = int(pp[1]) + if err == nil { + p[0] = int(pp[0]) + p[1] = int(pp[1]) + } return } @@ -130,8 +132,11 @@ func Pipe(p []int) (err error) { if len(p) != 2 { return EINVAL } - p[0], p[1], err = pipe() - return + r, w, err := pipe() + if err == nil { + p[0], p[1] = r, w + } + return err } //sys mmap2(addr uintptr, length uintptr, prot int, flags int, fd int, pageOffset uintptr) (xaddr uintptr, err error) diff --git a/src/syscall/syscall_linux_ppc64x.go b/src/syscall/syscall_linux_ppc64x.go index 45bf667407fef8782045a2a1fc0087c69a47fb3e..639d5c64abc11dbf5f4969c55cdd1574529e2aa7 100644 --- a/src/syscall/syscall_linux_ppc64x.go +++ b/src/syscall/syscall_linux_ppc64x.go @@ -87,8 +87,10 @@ return EINVAL } var pp [2]_C_int err = pipe2(&pp, 0) - p[0] = int(pp[0]) - p[1] = int(pp[1]) + if err == nil { + p[0] = int(pp[0]) + p[1] = int(pp[1]) + } return } @@ -100,8 +102,10 @@ return EINVAL } var pp [2]_C_int err = pipe2(&pp, flags) - p[0] = int(pp[0]) - p[1] = int(pp[1]) + if err == nil { + p[0] = int(pp[0]) + p[1] = int(pp[1]) + } return } diff --git a/src/syscall/syscall_linux_riscv64.go b/src/syscall/syscall_linux_riscv64.go index 2a0fe64d258617a8dc147d17d55cc8d205e0905b..dd48f7c8db74f63b2c558922d8fd685c44c54982 100644 --- a/src/syscall/syscall_linux_riscv64.go +++ b/src/syscall/syscall_linux_riscv64.go @@ -155,8 +155,10 @@ return EINVAL } var pp [2]_C_int err = pipe2(&pp, 0) - p[0] = int(pp[0]) - p[1] = int(pp[1]) + if err == nil { + p[0] = int(pp[0]) + p[1] = int(pp[1]) + } return } @@ -168,8 +170,10 @@ return EINVAL } var pp [2]_C_int err = pipe2(&pp, flags) - p[0] = int(pp[0]) - p[1] = int(pp[1]) + if err == nil { + p[0] = int(pp[0]) + p[1] = int(pp[1]) + } return } diff --git a/src/syscall/syscall_linux_s390x.go b/src/syscall/syscall_linux_s390x.go index 0f6f6277bbfda2b02aab58268b77ce9b796c2097..08e66136b8188c65e20c31234327ba0203af2655 100644 --- a/src/syscall/syscall_linux_s390x.go +++ b/src/syscall/syscall_linux_s390x.go @@ -80,8 +80,10 @@ return EINVAL } var pp [2]_C_int err = pipe2(&pp, 0) - p[0] = int(pp[0]) - p[1] = int(pp[1]) + if err == nil { + p[0] = int(pp[0]) + p[1] = int(pp[1]) + } return } @@ -93,8 +95,10 @@ return EINVAL } var pp [2]_C_int err = pipe2(&pp, flags) - p[0] = int(pp[0]) - p[1] = int(pp[1]) + if err == nil { + p[0] = int(pp[0]) + p[1] = int(pp[1]) + } return } diff --git a/src/syscall/syscall_netbsd.go b/src/syscall/syscall_netbsd.go index fc13b706b5da3c621f87177263e62984d433ea53..0754bad5ac1fac02d1ed9c4101322cdcd136ac82 100644 --- a/src/syscall/syscall_netbsd.go +++ b/src/syscall/syscall_netbsd.go @@ -112,8 +112,10 @@ return EINVAL } var pp [2]_C_int err := pipe2(&pp, flags) - p[0] = int(pp[0]) - p[1] = int(pp[1]) + if err == nil { + p[0] = int(pp[0]) + p[1] = int(pp[1]) + } return err } diff --git a/src/syscall/syscall_openbsd.go b/src/syscall/syscall_openbsd.go index 5a5ba5a51b07b7d7f908b74a2831c2ab57c338c7..18eafe3521d590ce076a4ccc095b43506e40e665 100644 --- a/src/syscall/syscall_openbsd.go +++ b/src/syscall/syscall_openbsd.go @@ -72,8 +72,10 @@ return EINVAL } var pp [2]_C_int err := pipe2(&pp, flags) - p[0] = int(pp[0]) - p[1] = int(pp[1]) + if err == nil { + p[0] = int(pp[0]) + p[1] = int(pp[1]) + } return err } diff --git a/src/syscall/syscall_plan9.go b/src/syscall/syscall_plan9.go index d16cad45d851da0de4cb30a954f98f3c3c349dbe..6a8ab97dc6cc9238d5d8af1073005156c94343d0 100644 --- a/src/syscall/syscall_plan9.go +++ b/src/syscall/syscall_plan9.go @@ -198,8 +198,10 @@ return NewError("bad arg in system call") } var pp [2]int32 err = pipe(&pp) - p[0] = int(pp[0]) - p[1] = int(pp[1]) + if err == nil { + p[0] = int(pp[0]) + p[1] = int(pp[1]) + } return } diff --git a/src/syscall/syscall_solaris.go b/src/syscall/syscall_solaris.go index daa4b88a71d6fcb6d9d03c3048006d52fd9c135f..7640aac25b3aaaddcb4094794f5c9a26e453bed8 100644 --- a/src/syscall/syscall_solaris.go +++ b/src/syscall/syscall_solaris.go @@ -55,7 +55,9 @@ r0, w0, e1 := pipe() if e1 != 0 { err = Errno(e1) } - p[0], p[1] = int(r0), int(w0) + if err == nil { + p[0], p[1] = int(r0), int(w0) + } return }