]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
dnsdist: Handle exception raised in IOStateGuard's destructor 10724/head
authorRemi Gacogne <remi.gacogne@powerdns.com>
Wed, 15 Sep 2021 08:15:52 +0000 (10:15 +0200)
committerRemi Gacogne <remi.gacogne@powerdns.com>
Wed, 15 Sep 2021 08:16:35 +0000 (10:16 +0200)
Reported by Coverity (CID 372512).

pdns/dnsdistdist/tcpiohandler-mplexer.hh

index 2fbe4b5147e4c48f32d3142904a2e92ef4d89119..d62ba7828b81ad0036b96d3014bbfe89cd7f78a1 100644 (file)
@@ -187,7 +187,13 @@ public:
        and its reference count goes to zero */
     if (d_enabled && d_handler) {
       DEBUGLOG("IOStateGuard destroyed while holding a state, let's reset it");
-      d_handler->reset();
+      try {
+        d_handler->reset();
+      }
+      catch (const FDMultiplexerException& e) {
+        /* that should not happen, but an exception raised from a destructor would be bad so better
+           safe than sorry */
+      }
       d_enabled = false;
     }
   }