From cb01058a53f4bec9642b04e5c549eaf5783d14de Mon Sep 17 00:00:00 2001 From: Dmytro Shynkevych Date: Thu, 6 Aug 2020 18:11:12 -0400 Subject: [PATCH] wgengine: stop giving tsdns a buffer that will be reused Signed-off-by: Dmytro Shynkevych --- wgengine/userspace.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wgengine/userspace.go b/wgengine/userspace.go index f8cba23d7..029ba58f2 100644 --- a/wgengine/userspace.go +++ b/wgengine/userspace.go @@ -405,7 +405,7 @@ func (e *userspaceEngine) isLocalAddr(ip packet.IP) bool { func (e *userspaceEngine) handleDNS(p *packet.ParsedPacket, t *tstun.TUN) filter.Response { if p.DstIP == magicDNSIP && p.DstPort == magicDNSPort && p.IPProto == packet.UDP { request := tsdns.Packet{ - Payload: p.Payload(), + Payload: append([]byte(nil), p.Payload()...), Addr: netaddr.IPPort{IP: p.SrcIP.Netaddr(), Port: p.SrcPort}, } err := e.resolver.EnqueueRequest(request)