From: Remi Gacogne Date: Mon, 28 Feb 2022 12:20:40 +0000 (+0100) Subject: dnsdist: Properly release UDP states when using random IDs X-Git-Tag: rec-4.7.0-beta1~70^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=45351813e0b49daa6e668c16d91e6685feb8db1c;p=thirdparty%2Fpdns.git dnsdist: Properly release UDP states when using random IDs --- diff --git a/pdns/dnsdist.cc b/pdns/dnsdist.cc index 58f695e118..204b132695 100644 --- a/pdns/dnsdist.cc +++ b/pdns/dnsdist.cc @@ -657,6 +657,7 @@ void responderThread(std::shared_ptr dss) // DoH query, we cannot touch du after that handleUDPResponseForDoH(std::move(du), std::move(response), std::move(*ids)); #endif + dss->releaseState(queryId); continue; } @@ -667,6 +668,7 @@ void responderThread(std::shared_ptr dss) memcpy(&cleartextDH, dr.getHeader(), sizeof(cleartextDH)); if (!processResponse(response, localRespRuleActions, dr, ids->cs && ids->cs->muted, true)) { + dss->releaseState(queryId); continue; }