]> granicus.if.org Git - neomutt/commit
Use a different flag in mx_open_mailbox_append() when mailbox doesn't exist.
authorKevin McCarthy <kevin@8t8.us>
Tue, 2 Aug 2016 01:25:28 +0000 (18:25 -0700)
committerKevin McCarthy <kevin@8t8.us>
Tue, 2 Aug 2016 01:25:28 +0000 (18:25 -0700)
commit78eba0d4899f80b6f23b8743705d9fa35c546e70
tree35427848a659c2a4b309f2173dad82b1a049dd02
parent98ff824c98ead71d0a6c9e0eec26d56e9074b42b
Use a different flag in mx_open_mailbox_append() when mailbox doesn't exist.

The previous commit re-used MUTT_NEWFOLDER, but the meaning of that
flag is slightly different: it causes mbox to use fopen with mode "w",
and is used only for the case of a brand-new mktemp-generated mbox.

Setting it for other non-existing mbox files leads to a race condition
between the stat and the fopen/lock, and so could end up truncating an
existing mailbox created in-between!

Create a different flag, MUTT_APPENDNEW to notify the open_append()
functions that the mailbox doesn't exist.  Change maildir and mh to
check for that flag to create their directory structures.
mailbox.h
mh.c
mx.c