diff options
author | Ian Lance Taylor <ian@gcc.gnu.org> | 2018-02-01 15:49:53 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@gcc.gnu.org> | 2018-02-01 15:49:53 +0000 |
commit | fc876f22b348202addb9294a6fe8570cdbfa1753 (patch) | |
tree | bb32552e60848302d833efec02bedc82548dad40 /libgo | |
parent | 73b7d28f677d9bf4a4ab5ef1f69cf8282a28e377 (diff) | |
download | gcc-fc876f22b348202addb9294a6fe8570cdbfa1753.zip gcc-fc876f22b348202addb9294a6fe8570cdbfa1753.tar.gz gcc-fc876f22b348202addb9294a6fe8570cdbfa1753.tar.bz2 |
net: declare lib_getaddrinfo as returning int32
Otherwise on a 64-bit system we will read the 32-bit value as a 64-bit
value. Since getaddrinfo returns negative numbers as error values,
these will be interpreted as numbers like 0xfffffffe rather than -2,
and the comparisons with values like syscall.EAI_NONAME will fail.
Fixes golang/go#23645
Reviewed-on: https://go-review.googlesource.com/91296
From-SVN: r257299
Diffstat (limited to 'libgo')
-rw-r--r-- | libgo/go/net/cgo_unix.go | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/libgo/go/net/cgo_unix.go b/libgo/go/net/cgo_unix.go index 5866d38..5ea13bc 100644 --- a/libgo/go/net/cgo_unix.go +++ b/libgo/go/net/cgo_unix.go @@ -23,7 +23,7 @@ import ( ) //extern getaddrinfo -func libc_getaddrinfo(node *byte, service *byte, hints *syscall.Addrinfo, res **syscall.Addrinfo) int +func libc_getaddrinfo(node *byte, service *byte, hints *syscall.Addrinfo, res **syscall.Addrinfo) int32 //extern freeaddrinfo func libc_freeaddrinfo(res *syscall.Addrinfo) |