Avoid mutating memory passed to DeliverTransportPacket

PiperOrigin-RevId: 240642903
Change-Id: I16625015123a827d267d60b328a202057264bbd6
This commit is contained in:
Tamir Duberstein 2019-03-27 14:35:49 -07:00 committed by Shentubot
parent 2d355f0e8f
commit 8406504817
1 changed files with 1 additions and 0 deletions

View File

@ -69,6 +69,7 @@ func (e *endpoint) handleICMP(r *stack.Route, netHeader buffer.View, vv buffer.V
// It's possible that a raw socket expects to receive this. // It's possible that a raw socket expects to receive this.
e.dispatcher.DeliverTransportPacket(r, header.ICMPv4ProtocolNumber, netHeader, vv) e.dispatcher.DeliverTransportPacket(r, header.ICMPv4ProtocolNumber, netHeader, vv)
vv := vv.Clone(nil)
vv.TrimFront(header.ICMPv4EchoMinimumSize) vv.TrimFront(header.ICMPv4EchoMinimumSize)
hdr := buffer.NewPrependable(int(r.MaxHeaderLength()) + header.ICMPv4EchoMinimumSize) hdr := buffer.NewPrependable(int(r.MaxHeaderLength()) + header.ICMPv4EchoMinimumSize)
pkt := header.ICMPv4(hdr.Prepend(header.ICMPv4EchoMinimumSize)) pkt := header.ICMPv4(hdr.Prepend(header.ICMPv4EchoMinimumSize))