From: Michael Vogt Date: Tue, 5 Jan 2016 19:49:19 +0000 (+0100) Subject: Do not remove a not working SrvRecords server twice X-Git-Tag: 1.2_exp1~38 X-Git-Url: https://git.saurik.com/apt.git/commitdiff_plain/0b7d34ee9dd467b23835377f911af47019d8f713?ds=sidebyside Do not remove a not working SrvRecords server twice The PopFromSrvRecs() already removed the entry from the active list, so the extra SrvRecords.erase() was incorrect. Git-Dch: ignore --- diff --git a/methods/connect.cc b/methods/connect.cc index cdd97994c..07a730b88 100644 --- a/methods/connect.cc +++ b/methods/connect.cc @@ -288,12 +288,10 @@ bool Connect(std::string Host,int Port,const char *Service, // try to connect in the priority order of the srv records while(SrvRecords.size() > 0) { + // PopFromSrvRecs will also remove the server Host = PopFromSrvRecs(SrvRecords).target; if(ConnectToHostname(Host, Port, Service, DefPort, Fd, TimeOut, Owner)) return true; - - // we couldn't connect to this one, use the next - SrvRecords.erase(SrvRecords.begin()); } return false;