From dc702f4fd61c1828f87509a09bf5609568ed89fc Mon Sep 17 00:00:00 2001 From: Jens Keim Date: Wed, 16 Jan 2019 11:51:23 +0100 Subject: [PATCH] use advertised_size to determine frame length --- src/packet_writer.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/packet_writer.cpp b/src/packet_writer.cpp index 613f070..7e79a10 100644 --- a/src/packet_writer.cpp +++ b/src/packet_writer.cpp @@ -70,12 +70,12 @@ void PacketWriter::write(Packet& packet) { } void PacketWriter::write(PDU& pdu, const struct timeval& tv) { - PDU::serialization_type buffer = pdu.serialize(); struct pcap_pkthdr header; memset(&header, 0, sizeof(header)); header.ts = tv; + header.len = static_cast(pdu.advertised_size()); + PDU::serialization_type buffer = pdu.serialize(); header.caplen = static_cast(buffer.size()); - header.len = static_cast(buffer.size()); pcap_dump((u_char*)dumper_, &header, &buffer[0]); }