aboutsummaryrefslogtreecommitdiff
path: root/libgo
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@gcc.gnu.org>2018-02-01 15:49:53 +0000
committerIan Lance Taylor <ian@gcc.gnu.org>2018-02-01 15:49:53 +0000
commitfc876f22b348202addb9294a6fe8570cdbfa1753 (patch)
treebb32552e60848302d833efec02bedc82548dad40 /libgo
parent73b7d28f677d9bf4a4ab5ef1f69cf8282a28e377 (diff)
downloadgcc-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.go2
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)