Avoid mutating memory passed to DeliverTransportPacket
PiperOrigin-RevId: 240642903 Change-Id: I16625015123a827d267d60b328a202057264bbd6
This commit is contained in:
parent
2d355f0e8f
commit
8406504817
|
@ -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))
|
||||||
|
|
Loading…
Reference in New Issue