commit 5b70872b46999db1d46718267a4960547147d46b
parent d20742effa4de1e3a21a4d2b2a0512e7d166f08d
Author: Andrej Kacian <ticho@claws-mail.org>
Date: Wed, 17 Aug 2016 00:32:12 +0200
Fix a crash on IMAP login when using a password plugin.
Fixes bug #3667.
Diffstat:
1 file changed, 4 insertions(+), 6 deletions(-)
diff --git 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) {