]> granicus.if.org Git - neomutt/commit
fix ev_message()
authorRichard Russon <rich@flatcap.org>
Mon, 1 Apr 2019 14:09:14 +0000 (14:09 +0000)
committerRichard Russon <rich@flatcap.org>
Tue, 9 Apr 2019 13:16:04 +0000 (14:16 +0100)
commitc9dd74b97f5e7c48af384adb7d645a7184a639b4
treeb33443885af3a4fd54a12919e987bbd3bb82183f
parent5fba45196b2a23b371389d64f270088c32fb706e
fix ev_message()

Prevent a crash when reopening a Mailbox.

> How exactly do these changes prevent the crash from occurring?

It's all about how mx_mbox_open() handles flags.  These four examples
are where we have a Mailbox open in 'normal' mode and try to open it
again in 'append' mode.

'Append' mode only makes sense for 'mbox' and 'compress', but the flag
affects mx_mbox_open(). It causes the function to create a duplicate
Mailbox, which is then used and discarded. The original Mailbox is now
out of sync.

The workaround, simply hides the flag for mx_mbox_open(), but
temporarily sets the internal bool append. This means that we work with
one Mailbox.
editmsg.c