Fix buffer usage
This commit is contained in:
parent
3b558f113c
commit
fd850d00e5
5 changed files with 18 additions and 33 deletions
11
lwip.go
11
lwip.go
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue