From: Charles-Henri Bruyand Date: Wed, 16 Aug 2023 15:20:21 +0000 (+0200) Subject: dnsdsit: reset IncomingTCPConnectionState's buffer with clear() instead of resize() X-Git-Tag: rec-5.0.0-alpha1~54^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=63a441709d5a2f784d8109e2dfafa923f3d16d26;p=thirdparty%2Fpdns.git dnsdsit: reset IncomingTCPConnectionState's buffer with clear() instead of resize() --- 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 */