Fix buffer usage

This commit is contained in:
世界 2023-07-03 21:18:10 +08:00
parent 3b558f113c
commit fd850d00e5
No known key found for this signature in database
GPG key ID: CD109927C34A63C4
5 changed files with 18 additions and 33 deletions

11
lwip.go
View file

@ -52,18 +52,13 @@ func (l *LWIP) loopIn() {
l.loopInWintun(winTun)
return
}
mtu := int(l.tunMtu) + PacketOffset
_buffer := buf.StackNewSize(mtu)
defer common.KeepAlive(_buffer)
buffer := common.Dup(_buffer)
defer buffer.Release()
data := buffer.FreeBytes()
buffer := make([]byte, int(l.tunMtu) + PacketOffset)
for {
n, err := l.tun.Read(data)
n, err := l.tun.Read(buffer)
if err != nil {
return
}
_, err = l.stack.Write(data[PacketOffset:n])
_, err = l.stack.Write(buffer[PacketOffset:n])
if err != nil {
if err.Error() == "stack closed" {
return