| Index: src/pkg/syscall/syscall_solaris.go |
| =================================================================== |
| --- a/src/pkg/syscall/syscall_solaris.go |
| +++ b/src/pkg/syscall/syscall_solaris.go |
| @@ -142,7 +142,7 @@ |
| if err = getsockname(fd, &rsa, &len); err != nil { |
| return |
| } |
| - return anyToSockaddr(&rsa) |
| + return anyToSockaddr(&rsa, len) |
| } |
| func GetsockoptInet4Addr(fd, level, opt int) (value [4]byte, err error) { |
| @@ -312,7 +312,7 @@ |
| return nil |
| } |
| -func anyToSockaddr(rsa *RawSockaddrAny) (Sockaddr, error) { |
| +func anyToSockaddr(rsa *RawSockaddrAny, _ _Socklen) (Sockaddr, error) { |
| switch rsa.Addr.Family { |
| case AF_UNIX: |
| pp := (*RawSockaddrUnix)(unsafe.Pointer(rsa)) |
| @@ -362,7 +362,7 @@ |
| if err != nil { |
| return |
| } |
| - sa, err = anyToSockaddr(&rsa) |
| + sa, err = anyToSockaddr(&rsa, len) |
| if err != nil { |
| Close(nfd) |
| nfd = 0 |
| @@ -397,7 +397,7 @@ |
| oobn = int(msg.Accrightslen) |
| // source address is only specified if the socket is unconnected |
| if rsa.Addr.Family != AF_UNSPEC { |
| - from, err = anyToSockaddr(&rsa) |
| + from, err = anyToSockaddr(&rsa, SizeofSockaddrAny) |
| } |
| return |
| } |