]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib: Make io_loop_move_*(NULL) no-op
authorAki Tuomi <aki.tuomi@dovecot.fi>
Thu, 23 Aug 2018 11:58:44 +0000 (14:58 +0300)
committerVille Savolainen <ville.savolainen@dovecot.fi>
Tue, 13 Nov 2018 13:09:32 +0000 (15:09 +0200)
src/lib/ioloop.c

index dfdc357fd58badc55e5343d2ede8bb0cd4c0cdaa..5a5622bb9fffa2e261cf3106c0ff3771feb77c00 100644 (file)
@@ -1094,6 +1094,9 @@ struct io *io_loop_move_io_to(struct ioloop *ioloop, struct io **_io)
        struct io *old_io = *_io;
        struct io_file *old_io_file, *new_io_file;
 
+       if (old_io == NULL)
+               return NULL;
+
        i_assert((old_io->condition & IO_NOTIFY) == 0);
 
        if (old_io->ioloop == ioloop)
@@ -1129,7 +1132,7 @@ struct timeout *io_loop_move_timeout_to(struct ioloop *ioloop,
 {
        struct timeout *new_to, *old_to = *_timeout;
 
-       if (old_to->ioloop == ioloop)
+       if (old_to == NULL || old_to->ioloop == ioloop)
                return old_to;
 
        new_to = timeout_copy(old_to, ioloop);