]> granicus.if.org Git - neomutt/commit
fix trash_append() 1630/head
authorRichard Russon <rich@flatcap.org>
Tue, 2 Apr 2019 12:50:16 +0000 (12:50 +0000)
committerRichard Russon <rich@flatcap.org>
Tue, 9 Apr 2019 13:16:04 +0000 (14:16 +0100)
commit57a8199dcbf88fa9582ef2cc1ee9ec3bcaaad8b1
tree534dde6be59f6c8a8b99f09decc13c039721ef08
parent1dd7f017d2e5b86a69feeec4d144d3e9bc8edac1
fix trash_append()

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.
mx.c