diff --git a/src/Renci.SshNet/ForwardedPortDynamic.NET.cs b/src/Renci.SshNet/ForwardedPortDynamic.NET.cs index 8acda487..fdf216a4 100644 --- a/src/Renci.SshNet/ForwardedPortDynamic.NET.cs +++ b/src/Renci.SshNet/ForwardedPortDynamic.NET.cs @@ -77,10 +77,11 @@ namespace Renci.SshNet } finally { - if (Session != null) + var session = Session; + if (session != null) { - Session.ErrorOccured -= Session_ErrorOccured; - Session.Disconnected -= Session_Disconnected; + session.ErrorOccured -= Session_ErrorOccured; + session.Disconnected -= Session_Disconnected; } } }); diff --git a/src/Renci.SshNet/ForwardedPortLocal.NET.cs b/src/Renci.SshNet/ForwardedPortLocal.NET.cs index 010ce408..664a48c8 100644 --- a/src/Renci.SshNet/ForwardedPortLocal.NET.cs +++ b/src/Renci.SshNet/ForwardedPortLocal.NET.cs @@ -74,10 +74,11 @@ namespace Renci.SshNet } finally { - if (Session != null) + var session = Session; + if (session != null) { - Session.Disconnected -= Session_Disconnected; - Session.ErrorOccured -= Session_ErrorOccured; + session.Disconnected -= Session_Disconnected; + session.ErrorOccured -= Session_ErrorOccured; } } }); diff --git a/src/Renci.SshNet/ForwardedPortRemote.cs b/src/Renci.SshNet/ForwardedPortRemote.cs index 643fdb19..1c6d7eea 100644 --- a/src/Renci.SshNet/ForwardedPortRemote.cs +++ b/src/Renci.SshNet/ForwardedPortRemote.cs @@ -308,10 +308,10 @@ namespace Renci.SshNet var session = Session; if (session != null) { + Session = null; session.RequestSuccessReceived -= Session_RequestSuccess; session.RequestFailureReceived -= Session_RequestFailure; session.ChannelOpenReceived -= Session_ChannelOpening; - Session = null; } var globalRequestResponse = _globalRequestResponse;