]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
dnsdist: Fix a user-after-move in the dynamic rules SMT code 14236/head
authorRemi Gacogne <remi.gacogne@powerdns.com>
Fri, 24 May 2024 09:13:13 +0000 (11:13 +0200)
committerRemi Gacogne <remi.gacogne@powerdns.com>
Fri, 24 May 2024 09:14:27 +0000 (11:14 +0200)
Introduced in 099e95eee273937d666255dc7ebe510d717b4a07 (#14182),
spotted by Coverity.

pdns/dnsdistdist/dnsdist-dynblocks.cc

index 7f4ee53462f6103d91f65f24ce81236dace6a53e..ec9362d58729e4d2433225501b4e33fe86740704 100644 (file)
@@ -311,7 +311,8 @@ bool addOrRefreshBlockSMT(SuffixMatchTree<DynBlock>& 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;
 }
 }