From: Timo Sirainen Date: Thu, 22 Jun 2023 07:48:13 +0000 (+0300) Subject: mdbox: Fix crash still if fdatasync_path() fails X-Git-Tag: 2.3.21~9 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=648b5a3a6e2314db40f279bb7831eb85e4a20cac;p=thirdparty%2Fdovecot%2Fcore.git mdbox: Fix crash still if fdatasync_path() fails Broken still in a8424a71d70e2f5c54d9e2aab8338cf9547b15b4 --- diff --git a/src/lib-storage/index/dbox-multi/mdbox-save.c b/src/lib-storage/index/dbox-multi/mdbox-save.c index fdffbbf22d..268f77c721 100644 --- a/src/lib-storage/index/dbox-multi/mdbox-save.c +++ b/src/lib-storage/index/dbox-multi/mdbox-save.c @@ -374,7 +374,8 @@ void mdbox_transaction_save_commit_post(struct mail_save_context *_ctx, struct mail_index_transaction_commit_result *result) { struct mdbox_save_context *ctx = MDBOX_SAVECTX(_ctx); - struct mail_storage *_storage = _ctx->transaction->box->storage; + struct mailbox *box = _ctx->transaction->box; + struct mail_storage *_storage = box->storage; struct mdbox_storage *storage = container_of(_storage, struct mdbox_storage, storage.storage); @@ -401,7 +402,7 @@ void mdbox_transaction_save_commit_post(struct mail_save_context *_ctx, if (_storage->set->parsed_fsync_mode != FSYNC_MODE_NEVER) { if (fdatasync_path(storage->storage_dir) < 0) { - mailbox_set_critical(_ctx->transaction->box, + mailbox_set_critical(box, "fdatasync_path(%s) failed: %m", storage->storage_dir); }