diff options
-rw-r--r-- | lib/transfer.c | 7 |
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; } |