Skip to content

Commit c09e2c3

Browse files
committed
Detect ipv4 where len(..) == 16
1 parent 709c414 commit c09e2c3

File tree

1 file changed

+7
-11
lines changed

1 file changed

+7
-11
lines changed

dial_wasip1.go

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -120,14 +120,12 @@ func family(addr net.Addr) int {
120120
case *net.IPAddr:
121121
ip = a.IP
122122
}
123-
switch len(ip) {
124-
case net.IPv4len:
123+
if ip.To4() != nil {
125124
return syscall.AF_INET
126-
case net.IPv6len:
125+
} else if len(ip) == net.IPv6len {
127126
return syscall.AF_INET6
128-
default:
129-
panic("invalid IP address")
130127
}
128+
return syscall.AF_INET
131129
}
132130

133131
func socketType(addr net.Addr) int {
@@ -154,12 +152,10 @@ func socketAddress(addr net.Addr) syscall.Sockaddr {
154152
case *net.IPAddr:
155153
ip = a.IP
156154
}
157-
switch len(ip) {
158-
case net.IPv4len:
159-
return &syscall.SockaddrInet4{Addr: ([4]byte)(ip), Port: port}
160-
case net.IPv6len:
155+
if ipv4 := ip.To4(); ipv4 != nil {
156+
return &syscall.SockaddrInet4{Addr: ([4]byte)(ipv4), Port: port}
157+
} else if len(ip) == net.IPv6len {
161158
return &syscall.SockaddrInet6{Addr: ([16]byte)(ip), Port: port}
162-
default:
163-
panic("invalid IP address")
164159
}
160+
panic("not implemented")
165161
}

0 commit comments

Comments
 (0)