]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
auth: Deinitialize userdb before freeing up settings
authorTimo Sirainen <timo.sirainen@open-xchange.com>
Fri, 8 Aug 2025 10:13:03 +0000 (13:13 +0300)
committerTimo Sirainen <timo.sirainen@open-xchange.com>
Fri, 8 Aug 2025 10:13:03 +0000 (13:13 +0300)
Some userdbs need the settings during deinitialization.

This was done for passdbs in 054ee6ae3b9a0ec7f669724037cca9059251b138.

src/auth/auth.c

index 4981cf8534cf5529834ddc9a3424cdebb64fdb30..bb6ead914153af34973c8331dbf636006e3c9346 100644 (file)
@@ -197,11 +197,11 @@ auth_userdb_preinit(struct auth *auth, const struct auth_userdb_settings *_set)
 
 static void auth_userdb_deinit(struct auth_userdb *userdb)
 {
+       userdb_deinit(userdb->userdb);
        if (userdb->set != &userdb_dummy_set)
                settings_free(userdb->set);
        settings_free(userdb->auth_set);
        settings_free(userdb->unexpanded_post_set);
-       userdb_deinit(userdb->userdb);
 }
 
 static bool auth_passdb_list_have_verify_plain(const struct auth *auth)