aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/transfer.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/transfer.c b/lib/transfer.c
index dac5dee96..6e0b9e6c7 100644
--- a/lib/transfer.c
+++ b/lib/transfer.c
@@ -1414,6 +1414,13 @@ CURLcode Curl_perform(struct SessionHandle *data)
if(!res && res2)
res = res2;
+ if(conn && (-1 !=conn->secondarysocket)) {
+ /* if we failed anywhere, we must clean up the secondary socket if it
+ was used */
+ sclose(conn->secondarysocket);
+ conn->secondarysocket=-1;
+ }
+
return res;
}