From: Daniel Stenberg Date: Mon, 8 Aug 2011 08:41:35 +0000 (+0200) Subject: ftp_doing: bail out on error properly X-Git-Tag: curl-7_22_0~148 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=da3ae20da56676361e959d07956dddc641a4a6a7;p=thirdparty%2Fcurl.git ftp_doing: bail out on error properly When a failure has been detected we must abort immdiately. Bug: http://curl.haxx.se/mail/lib-2011-07/0177.html Reported by: "Spoon Man" --- diff --git a/lib/ftp.c b/lib/ftp.c index c30d809b01..689eda2945 100644 --- a/lib/ftp.c +++ b/lib/ftp.c @@ -4094,12 +4094,13 @@ static CURLcode ftp_dophase_done(struct connectdata *conn, /* called from multi.c while DOing */ static CURLcode ftp_doing(struct connectdata *conn, - bool *dophase_done) + bool *dophase_done) { - CURLcode result; - result = ftp_multi_statemach(conn, dophase_done); + CURLcode result = ftp_multi_statemach(conn, dophase_done); - if(*dophase_done) { + if(result) + DEBUGF(infof(conn->data, "DO phase failed\n")); + else if(*dophase_done) { result = ftp_dophase_done(conn, FALSE /* not connected */); DEBUGF(infof(conn->data, "DO phase is complete\n"));