From 550656390123463f6cd0a996f9ae881671e601d1 Mon Sep 17 00:00:00 2001 From: Remi Gacogne Date: Fri, 5 Dec 2025 10:22:12 +0100 Subject: [PATCH] dnsdist: Consistenly use `getL4HeaderOffset()` in our XSK code Signed-off-by: Remi Gacogne --- pdns/dnsdistdist/xsk.cc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pdns/dnsdistdist/xsk.cc b/pdns/dnsdistdist/xsk.cc index 8aeb7913f5..c45fafd5ed 100644 --- a/pdns/dnsdistdist/xsk.cc +++ b/pdns/dnsdistdist/xsk.cc @@ -626,7 +626,7 @@ void XskPacket::setIPv6Header(const ipv6hdr& ipv6Header) noexcept [[nodiscard]] udphdr XskPacket::getUDPHeader() const noexcept { udphdr udpHeader{}; - const size_t neededRoom = sizeof(ethhdr) + (v6 ? sizeof(ipv6hdr) : sizeof(iphdr)) + sizeof(udpHeader); + const size_t neededRoom = getL4HeaderOffset() + sizeof(udpHeader); assert(frameSize >= neededRoom); if (frameLength >= neededRoom) { // NOLINTNEXTLINE(cppcoreguidelines-pro-bounds-pointer-arithmetic) @@ -637,10 +637,10 @@ void XskPacket::setIPv6Header(const ipv6hdr& ipv6Header) noexcept void XskPacket::setUDPHeader(const udphdr& udpHeader) noexcept { - const size_t neededRoom = sizeof(ethhdr) + (v6 ? sizeof(ipv6hdr) : sizeof(iphdr)) + sizeof(udpHeader); + const size_t neededRoom = getL4HeaderOffset() + sizeof(udpHeader); assert(frameSize >= neededRoom); if (frameLength < neededRoom) { - frameLength = sizeof(ethhdr) + (v6 ? sizeof(ipv6hdr) : sizeof(iphdr)) + sizeof(udpHeader); + frameLength = getL4HeaderOffset() + sizeof(udpHeader); } // NOLINTNEXTLINE(cppcoreguidelines-pro-bounds-pointer-arithmetic) memcpy(frame + getL4HeaderOffset(), &udpHeader, sizeof(udpHeader)); -- 2.47.3