From: Daniel Stenberg Date: Sat, 15 Dec 2012 14:31:38 +0000 (+0100) Subject: pop3_doing: don't call pop3_dophase_done() if already failed X-Git-Tag: curl-7_29_0~191 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=2897ce7dc2e1b7e8c94e8fc79f6199c33efe7547;p=curl pop3_doing: don't call pop3_dophase_done() if already failed ... it also clobbered the 'result' return value so that it wouldn't return the error back to the parent function properly, which broke test 809 when run with 'multi-always'. --- diff --git a/lib/pop3.c b/lib/pop3.c index 391f4e7b1..7fb4f5c35 100644 --- a/lib/pop3.c +++ b/lib/pop3.c @@ -1554,7 +1554,7 @@ static CURLcode pop3_doing(struct connectdata *conn, bool *dophase_done) CURLcode result; result = pop3_multi_statemach(conn, dophase_done); - if(*dophase_done) { + if(!result && *dophase_done) { result = pop3_dophase_done(conn, FALSE /* not connected */); DEBUGF(infof(conn->data, "DO phase is complete\n"));