fix panic in tun handler
This commit is contained in:
parent
6a36ebcc9f
commit
61f1f05339
@ -204,6 +204,9 @@ func (h *tapHandler) transport(tap net.Conn, conn net.PacketConn, raddr net.Addr
|
||||
}
|
||||
return err
|
||||
}
|
||||
if n == 0 {
|
||||
return nil
|
||||
}
|
||||
|
||||
src := waterutil.MACSource((*b)[:n])
|
||||
dst := waterutil.MACDestination((*b)[:n])
|
||||
@ -260,6 +263,9 @@ func (h *tapHandler) transport(tap net.Conn, conn net.PacketConn, raddr net.Addr
|
||||
err != shadowaead.ErrShortPacket {
|
||||
return err
|
||||
}
|
||||
if n == 0 {
|
||||
return nil
|
||||
}
|
||||
|
||||
src := waterutil.MACSource((*b)[:n])
|
||||
dst := waterutil.MACDestination((*b)[:n])
|
||||
|
@ -49,6 +49,9 @@ func (h *tunHandler) transportServer(ctx context.Context, tun io.ReadWriter, con
|
||||
if err != nil {
|
||||
return ErrTun
|
||||
}
|
||||
if n == 0 {
|
||||
return nil
|
||||
}
|
||||
|
||||
var src, dst net.IP
|
||||
if waterutil.IsIPv4((*b)[:n]) {
|
||||
@ -110,6 +113,9 @@ func (h *tunHandler) transportServer(ctx context.Context, tun io.ReadWriter, con
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if n == 0 {
|
||||
return nil
|
||||
}
|
||||
if n > keepAliveHeaderLength && bytes.Equal((*b)[:4], magicHeader) {
|
||||
var peerIPs []net.IP
|
||||
data := (*b)[keepAliveHeaderLength:n]
|
||||
|
Loading…
Reference in New Issue
Block a user