diff --git a/rust/dns-over-tcp/src/stub_device.rs b/rust/dns-over-tcp/src/stub_device.rs index ac3cc765b..7084fadd2 100644 --- a/rust/dns-over-tcp/src/stub_device.rs +++ b/rust/dns-over-tcp/src/stub_device.rs @@ -61,6 +61,15 @@ impl<'a> smoltcp::phy::TxToken for SmolTxToken<'a> { where F: FnOnce(&mut [u8]) -> R, { + let max_len = ip_packet::PACKET_SIZE; + + if len > max_len { + tracing::warn!("Packets larger than {max_len} are not supported; len={len}"); + + let mut buf = Vec::with_capacity(len); + return f(&mut buf); + } + let mut ip_packet_buf = IpPacketBuf::new(); let result = f(ip_packet_buf.buf());