]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
fts-flatcurve: fts_flatcurve_mail_user_deinit() - Defer deallocation of fuser->set
authorMarco Bettini <marco.bettini@open-xchange.com>
Tue, 18 Feb 2025 11:39:06 +0000 (11:39 +0000)
committeraki.tuomi <aki.tuomi@open-xchange.com>
Mon, 3 Mar 2025 12:46:25 +0000 (12:46 +0000)
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()

src/plugins/fts-flatcurve/fts-flatcurve-plugin.c

index d1f42184193aaa943241fd823298640ef382df0d..511d4b44c1d56fdc755ab56544c5aa7df538af34 100644 (file)
@@ -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,