From: Marco Bettini Date: Tue, 18 Feb 2025 11:39:06 +0000 (+0000) Subject: fts-flatcurve: fts_flatcurve_mail_user_deinit() - Defer deallocation of fuser->set X-Git-Tag: 2.4.1~119 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=5be95ca835d30b31a67d1e7435dcd5dca58ae8ea;p=thirdparty%2Fdovecot%2Fcore.git fts-flatcurve: fts_flatcurve_mail_user_deinit() - Defer deallocation of fuser->set This is required to prevent premature deallocation that can cause fts_flatcurve_xapian_need_optimize() to crash inside fts_mailbox_list_deinit() in mail_user_unref() --- diff --git a/src/plugins/fts-flatcurve/fts-flatcurve-plugin.c b/src/plugins/fts-flatcurve/fts-flatcurve-plugin.c index d1f4218419..511d4b44c1 100644 --- a/src/plugins/fts-flatcurve/fts-flatcurve-plugin.c +++ b/src/plugins/fts-flatcurve/fts-flatcurve-plugin.c @@ -20,8 +20,8 @@ static void fts_flatcurve_mail_user_deinit(struct mail_user *user) struct fts_flatcurve_user *fuser = FTS_FLATCURVE_USER_CONTEXT_REQUIRE(user); - settings_free(fuser->set); fuser->module_ctx.super.deinit(user); + settings_free(fuser->set); } int fts_flatcurve_mail_user_get(struct mail_user *user, struct event *event,