From 0b7d34ee9dd467b23835377f911af47019d8f713 Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Tue, 5 Jan 2016 20:49:19 +0100 Subject: [PATCH 1/1] 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 --- methods/connect.cc | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) 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; -- 2.45.2