From: Steve Holme Date: Sat, 29 Dec 2012 23:15:05 +0000 (+0000) Subject: imap_doing: don't call imap_dophase_done() if already failed X-Git-Tag: curl-7_29_0~157 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=1576548428326f210fd067b8d4323828f979091f;p=curl imap_doing: don't call imap_dophase_done() if already failed Applied the POP3 fix from commit 2897ce7dc2e1 so imap_dophase_done() isn't called if imap_multi_statemach() fails. --- diff --git a/lib/imap.c b/lib/imap.c index 72ede7e45..eefdaf278 100644 --- a/lib/imap.c +++ b/lib/imap.c @@ -1049,11 +1049,12 @@ static CURLcode imap_doing(struct connectdata *conn, bool *dophase_done) if(result) DEBUGF(infof(conn->data, "DO phase failed\n")); + else { + if(*dophase_done) { + result = imap_dophase_done(conn, FALSE /* not connected */); - if(*dophase_done) { - result = imap_dophase_done(conn, FALSE /* not connected */); - - DEBUGF(infof(conn->data, "DO phase is complete\n")); + DEBUGF(infof(conn->data, "DO phase is complete\n")); + } } return result;