fix 'panic: runtime error: slice smaller than array' bug

This commit is contained in:
Scott Feldman
2023-12-05 18:47:08 -08:00
committed by Ron Evans
parent 1c04b2c40d
commit d6e5efd40a
2 changed files with 8 additions and 4 deletions
+4 -2
View File
@@ -161,7 +161,8 @@ func DialTCP(network string, laddr, raddr *TCPAddr) (*TCPConn, error) {
return nil, err
}
raddrport := netip.AddrPortFrom(netip.AddrFrom4([4]byte(raddr.IP)), uint16(raddr.Port))
rip, _ := netip.AddrFromSlice(raddr.IP)
raddrport := netip.AddrPortFrom(rip, uint16(raddr.Port))
if err = netdev.Connect(fd, "", raddrport); err != nil {
netdev.Close(fd)
return nil, err
@@ -274,7 +275,8 @@ func listenTCP(laddr *TCPAddr) (Listener, error) {
return nil, err
}
laddrport := netip.AddrPortFrom(netip.AddrFrom4([4]byte(laddr.IP)), uint16(laddr.Port))
lip, _ := netip.AddrFromSlice(laddr.IP)
laddrport := netip.AddrPortFrom(lip, uint16(laddr.Port))
err = netdev.Bind(fd, laddrport)
if err != nil {
return nil, err
+4 -2
View File
@@ -172,7 +172,8 @@ func DialUDP(network string, laddr, raddr *UDPAddr) (*UDPConn, error) {
if err != nil {
return nil, err
}
laddrport := netip.AddrPortFrom(netip.AddrFrom4([4]byte(laddr.IP)), uint16(laddr.Port))
lip, _ := netip.AddrFromSlice(laddr.IP)
laddrport := netip.AddrPortFrom(lip, uint16(laddr.Port))
// Local bind
err = netdev.Bind(fd, laddrport)
@@ -181,7 +182,8 @@ func DialUDP(network string, laddr, raddr *UDPAddr) (*UDPConn, error) {
return nil, err
}
raddrport := netip.AddrPortFrom(netip.AddrFrom4([4]byte(raddr.IP)), uint16(raddr.Port))
rip, _ := netip.AddrFromSlice(raddr.IP)
raddrport := netip.AddrPortFrom(rip, uint16(raddr.Port))
// Remote connect
if err = netdev.Connect(fd, "", raddrport); err != nil {
netdev.Close(fd)