From 4cbabea501187d2f7f8b42dd4804421d1ab34a27 Mon Sep 17 00:00:00 2001 From: BrennanConroy Date: Fri, 16 Nov 2018 19:54:24 -0800 Subject: [PATCH] Dispose WebSocket if StartAsync fails (#3311) --- .../Internal/WebSocketsTransport.cs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/WebSocketsTransport.cs b/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/WebSocketsTransport.cs index cb7ed9f06c..4fe1e61b73 100644 --- a/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/WebSocketsTransport.cs +++ b/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/WebSocketsTransport.cs @@ -119,7 +119,15 @@ namespace Microsoft.AspNetCore.Http.Connections.Client.Internal Log.StartTransport(_logger, transferFormat, resolvedUrl); - await _webSocket.ConnectAsync(resolvedUrl, CancellationToken.None); + try + { + await _webSocket.ConnectAsync(resolvedUrl, CancellationToken.None); + } + catch + { + _webSocket.Dispose(); + throw; + } Log.StartedTransport(_logger);