diff --git a/SMBLibrary/Client/SMB1Client.cs b/SMBLibrary/Client/SMB1Client.cs index 3207b10..6f6e785 100644 --- a/SMBLibrary/Client/SMB1Client.cs +++ b/SMBLibrary/Client/SMB1Client.cs @@ -436,17 +436,20 @@ namespace SMBLibrary.Client } catch (ArgumentException) // The IAsyncResult object was not returned from the corresponding synchronous method on this class. { + m_isConnected = false; state.ReceiveBuffer.Dispose(); return; } catch (ObjectDisposedException) { + m_isConnected = false; Log("[ReceiveCallback] EndReceive ObjectDisposedException"); state.ReceiveBuffer.Dispose(); return; } catch (SocketException ex) { + m_isConnected = false; Log("[ReceiveCallback] EndReceive SocketException: " + ex.Message); state.ReceiveBuffer.Dispose(); return; diff --git a/SMBLibrary/Client/SMB2Client.cs b/SMBLibrary/Client/SMB2Client.cs index bba3db9..78b0d73 100644 --- a/SMBLibrary/Client/SMB2Client.cs +++ b/SMBLibrary/Client/SMB2Client.cs @@ -369,17 +369,20 @@ namespace SMBLibrary.Client } catch (ArgumentException) // The IAsyncResult object was not returned from the corresponding synchronous method on this class. { + m_isConnected = false; state.ReceiveBuffer.Dispose(); return; } catch (ObjectDisposedException) { + m_isConnected = false; Log("[ReceiveCallback] EndReceive ObjectDisposedException"); state.ReceiveBuffer.Dispose(); return; } catch (SocketException ex) { + m_isConnected = false; Log("[ReceiveCallback] EndReceive SocketException: " + ex.Message); state.ReceiveBuffer.Dispose(); return;