]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib: Fix potential crash changing signal handlers after destroying ioloop
authorTimo Sirainen <timo.sirainen@open-xchange.com>
Wed, 5 Aug 2020 11:35:52 +0000 (14:35 +0300)
committerTimo Sirainen <timo.sirainen@open-xchange.com>
Wed, 5 Aug 2020 11:35:52 +0000 (14:35 +0300)
src/lib/lib-signals.c

index 1e902d4018de7e7bb977b63dddd10a0c6b7d0f6c..392317554d37f5cb31874a944ab6a5da972965a3 100644 (file)
@@ -396,8 +396,12 @@ static void lib_signals_update_expected_signals(bool expected)
        }
 
        sig_ioloop = signal_ioloops;
-       for (; sig_ioloop != NULL; sig_ioloop = sig_ioloop->next)
-               io_set_never_wait_alone(sig_ioloop->io, signals_expected == 0);
+       for (; sig_ioloop != NULL; sig_ioloop = sig_ioloop->next) {
+               if (sig_ioloop->io != NULL) {
+                       io_set_never_wait_alone(sig_ioloop->io,
+                                               signals_expected == 0);
+               }
+       }
 }
 
 static void lib_signals_ioloop_switch(void)