aboutsummaryrefslogtreecommitdiff
path: root/libgo/go/syscall/socket.go
diff options
context:
space:
mode:
Diffstat (limited to 'libgo/go/syscall/socket.go')
-rw-r--r--libgo/go/syscall/socket.go6
1 files changed, 5 insertions, 1 deletions
diff --git a/libgo/go/syscall/socket.go b/libgo/go/syscall/socket.go
index d3ff636..f42679d 100644
--- a/libgo/go/syscall/socket.go
+++ b/libgo/go/syscall/socket.go
@@ -310,7 +310,11 @@ func SetsockoptIPv6Mreq(fd, level, opt int, mreq *IPv6Mreq) (err error) {
}
func SetsockoptString(fd, level, opt int, s string) (err error) {
- return setsockopt(fd, level, opt, unsafe.Pointer(&[]byte(s)[0]), Socklen_t(len(s)))
+ var p unsafe.Pointer
+ if len(s) > 0 {
+ p = unsafe.Pointer(&[]byte(s)[0])
+ }
+ return setsockopt(fd, level, opt, p, Socklen_t(len(s)))
}
//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *Socklen_t) (n int, err error)