From 5b70872b46999db1d46718267a4960547147d46b Mon Sep 17 00:00:00 2001 From: Andrej Kacian Date: Wed, 17 Aug 2016 00:32:12 +0200 Subject: [PATCH] Fix a crash on IMAP login when using a password plugin. Fixes bug #3667. --- src/imap.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/imap.c b/src/imap.c index a715eae8b..8ccb0eeab 100644 --- a/src/imap.c +++ b/src/imap.c @@ -1277,19 +1277,17 @@ static IMAPSession *imap_session_new(Folder * folder, static gint imap_session_authenticate(IMAPSession *session, PrefsAccount *account) { - gchar *pass, *acc_pass; + gchar *pass, *acc_pass = NULL; gboolean failed = FALSE; gint ok = MAILIMAP_NO_ERROR; g_return_val_if_fail(account->userid != NULL, MAILIMAP_ERROR_BAD_STATE); - if (password_get(account->userid, account->recv_server, "imap", - SESSION(session)->port, &pass)) { - Xstrdup_a(acc_pass, pass, {g_free(pass); return MAILIMAP_NO_ERROR;}); - g_free(pass); - } else { + if (!password_get(account->userid, account->recv_server, "imap", + SESSION(session)->port, &acc_pass)) { acc_pass = passwd_store_get_account(account->account_id, PWS_ACCOUNT_RECV); } + try_again: pass = acc_pass; if (!pass && account->imap_auth_type != IMAP_AUTH_ANON && account->imap_auth_type != IMAP_AUTH_GSSAPI) { -- 2.25.1