From 7d7dedf49453e63b8ec8dbbd6ef891e002a4422c Mon Sep 17 00:00:00 2001 From: MayaTheShy Date: Mon, 10 Nov 2025 01:41:21 -0500 Subject: [PATCH] fix: update sendPing to set source ID before sequence number for proper header resizing --- src/OverteClient.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/OverteClient.cpp b/src/OverteClient.cpp index 04aaa74..4d60751 100644 --- a/src/OverteClient.cpp +++ b/src/OverteClient.cpp @@ -1538,10 +1538,13 @@ void OverteClient::handlePing(const char* payload, size_t len) { void OverteClient::sendPing(int fd, const sockaddr_storage& addr, socklen_t addrLen) { // Create NLPacket for Ping with correct version NLPacket packet(PacketType::Ping, PacketVersions::Ping_IncludeConnectionID, false); - // Include our local ID if we have one (sourced packet) + + // Set source ID first (this resizes header and writes it) if (m_localID != 0) { packet.setSourceID(m_localID); } + + // Then set sequence number (this updates the header without resizing) packet.setSequenceNumber(m_sequenceNumber++); // Add timestamp (microseconds since epoch)