From df70e969774cdbe1648ab07cfd9176ea8c588fc9 Mon Sep 17 00:00:00 2001 From: Ruben Serrano Izquierdo Date: Sat, 7 Jan 2023 14:40:17 +0100 Subject: [PATCH] Hotfix: send_ex improper use of iterator --- windivert/Cargo.toml | 2 +- windivert/src/divert/blocking.rs | 5 ++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/windivert/Cargo.toml b/windivert/Cargo.toml index 3d23801..5c1258f 100644 --- a/windivert/Cargo.toml +++ b/windivert/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "windivert" -version = "0.5.3" +version = "0.5.4" description = "Wrapper library around windivert-sys" authors = ["Ruben Serrano Izquierdo "] repository = "https://github.com/Rubensei/windivert-rust.git" diff --git a/windivert/src/divert/blocking.rs b/windivert/src/divert/blocking.rs index a041d06..1b97359 100644 --- a/windivert/src/divert/blocking.rs +++ b/windivert/src/divert/blocking.rs @@ -108,7 +108,7 @@ impl WinDivert { Ok(injected_length) } - fn internal_send_ex<'data, 'packets, P>(&self, mut packets: P) -> Result + fn internal_send_ex<'data, 'packets, P>(&self, packets: P) -> Result where P: ExactSizeIterator>, 'data: 'packets, @@ -116,8 +116,7 @@ impl WinDivert { { let packet_count = packets.len(); let mut injected_length = 0; - let capacity = packets.by_ref().map(|p| p.data.len()).sum(); - let mut packet_buffer: Vec = Vec::with_capacity(capacity); + let mut packet_buffer: Vec = Vec::new(); let mut address_buffer: Vec = Vec::with_capacity(packet_count); packets.for_each(|packet: &'packets WinDivertPacket<'data, L>| { packet_buffer.extend(&packet.data[..]);