]> granicus.if.org Git - neomutt/commitdiff
Disable mailbox notify on close
authorPietro Cerutti <gahr@gahr.ch>
Thu, 4 Apr 2019 07:28:03 +0000 (07:28 +0000)
committerRichard Russon <rich@flatcap.org>
Thu, 4 Apr 2019 10:39:05 +0000 (11:39 +0100)
This fixes a crash when two mailboxes have been opened within a session,
and an 'unmailboxes *' command is issued. In this case, both the current
mailbox and the previously opened mailbox have a non-NULL `notify`
member. The notify method assumes the mailbox is currently active within
the context. The context gets thus doubly freed.

mx.c

diff --git a/mx.c b/mx.c
index b354ef6f7a429741a1bc3502faccddda855e21bf..3b1b65be5c01f9919cd676426ad8b4fcab0fdbd5 100644 (file)
--- a/mx.c
+++ b/mx.c
@@ -384,6 +384,7 @@ void mx_fastclose_mailbox(struct Mailbox *m)
     m->mx_ops->mbox_close(m);
 
   mutt_mailbox_changed(m, MBN_CLOSED);
+  m->notify = NULL;
 
   mutt_hash_free(&m->subj_hash);
   mutt_hash_free(&m->id_hash);