Skip to content

Commit 582cdc7

Browse files
author
Max Larsson
committed
Fix panic in raw socket fragmentation when payload buffer exceeds packet size
1 parent a54589c commit 582cdc7

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

src/iface/packet.rs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,10 @@ impl<'p> Packet<'p> {
130130
}
131131

132132
#[cfg(feature = "socket-raw")]
133-
IpPayload::Raw(raw_packet) => payload.copy_from_slice(raw_packet),
133+
IpPayload::Raw(raw_packet) => {
134+
let len = raw_packet.len();
135+
payload[..len].copy_from_slice(raw_packet)
136+
}
134137
#[cfg(any(feature = "socket-udp", feature = "socket-dns"))]
135138
IpPayload::Udp(udp_repr, inner_payload) => udp_repr.emit(
136139
&mut UdpPacket::new_unchecked(payload),

0 commit comments

Comments
 (0)