ソースを参照

Avoid NRE when disconnecting or disposing.

drieseng 9 年 前
コミット
3cf6979943
1 ファイル変更6 行追加5 行削除
  1. 6 5
      src/Renci.SshNet/SftpClient.cs

+ 6 - 5
src/Renci.SshNet/SftpClient.cs

@@ -2128,11 +2128,11 @@ namespace Renci.SshNet
 
             // disconnect, dispose and dereference the SFTP session since we create a new SFTP session
             // on each connect
-            if (_sftpSession != null)
+            var sftpSession = _sftpSession;
+            if (sftpSession != null)
             {
-                _sftpSession.Disconnect();
-                _sftpSession.Dispose();
                 _sftpSession = null;
+                sftpSession.Dispose();
             }
         }
 
@@ -2146,10 +2146,11 @@ namespace Renci.SshNet
 
             if (disposing)
             {
-                if (_sftpSession != null)
+                var sftpSession = _sftpSession;
+                if (sftpSession != null)
                 {
-                    _sftpSession.Dispose();
                     _sftpSession = null;
+                    sftpSession.Dispose();
                 }
             }
         }