From 63a441709d5a2f784d8109e2dfafa923f3d16d26 Mon Sep 17 00:00:00 2001 From: Charles-Henri Bruyand Date: Wed, 16 Aug 2023 17:20:21 +0200 Subject: [PATCH] dnsdsit: reset IncomingTCPConnectionState's buffer with clear() instead of resize() --- pdns/dnsdist-tcp.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pdns/dnsdist-tcp.cc b/pdns/dnsdist-tcp.cc index 7b99f6be7d..2a1d7b80ee 100644 --- a/pdns/dnsdist-tcp.cc +++ b/pdns/dnsdist-tcp.cc @@ -252,7 +252,7 @@ bool IncomingTCPConnectionState::canAcceptNewQueries(const struct timeval& now) void IncomingTCPConnectionState::resetForNewQuery() { - d_buffer.resize(sizeof(uint16_t)); + d_buffer.clear(); d_currentPos = 0; d_querySize = 0; d_state = State::waitingForQuery; @@ -875,6 +875,7 @@ void IncomingTCPConnectionState::handleIO(std::shared_ptrd_lastIOBlocked && (state->d_state == IncomingTCPConnectionState::State::waitingForQuery || state->d_state == IncomingTCPConnectionState::State::readingQuerySize)) { DEBUGLOG("reading query size"); + state->d_buffer.resize(sizeof(uint16_t)); iostate = state->d_handler.tryRead(state->d_buffer, state->d_currentPos, sizeof(uint16_t)); if (state->d_currentPos > 0) { /* if we got at least one byte, we can't go around sending responses */ -- 2.47.2