From e43ee452507a21a0921b2dc1e044c7fff202f6af Mon Sep 17 00:00:00 2001 From: Remi Gacogne Date: Fri, 24 May 2024 11:13:13 +0200 Subject: [PATCH] dnsdist: Fix a user-after-move in the dynamic rules SMT code Introduced in 099e95eee273937d666255dc7ebe510d717b4a07 (#14182), spotted by Coverity. --- pdns/dnsdistdist/dnsdist-dynblocks.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pdns/dnsdistdist/dnsdist-dynblocks.cc b/pdns/dnsdistdist/dnsdist-dynblocks.cc index 7f4ee53462..ec9362d587 100644 --- a/pdns/dnsdistdist/dnsdist-dynblocks.cc +++ b/pdns/dnsdistdist/dnsdist-dynblocks.cc @@ -311,7 +311,8 @@ bool addOrRefreshBlockSMT(SuffixMatchTree& blocks, const timespec& now if (!beQuiet && (got == nullptr || expired)) { warnlog("Inserting dynamic block for %s for %d seconds: %s", dblock.domain, dblock.until.tv_sec - now.tv_sec, dblock.reason); } - blocks.add(dblock.domain, std::move(dblock)); + auto domain = dblock.domain; + blocks.add(domain, std::move(dblock)); return true; } } -- 2.47.2