Telnet spyStream NullPointerException
-------------------------------------
Key: NET-264
URL: https://issues.apache.org/jira/browse/NET-264
Project: Commons Net
Issue Type: Bug
Affects Versions: 2.0
Reporter: Jeremy Stone
Calling stopSpyStream on TelnetClient sets spyStream to null without regard to
whether _spyRead or _spyWrite are being invoked on another thread.
Resulting NPE in _spyRead/_spy_Write is caught in TelnetInputStream.run() which
goes on to close the stream.
May be able to fix by taking local copy of spyStream (which ought also to be
volatile) in both of _spyRead and _spyWrite. E.g. for _spyRead:
void _spyRead(int ch)
{
OutputStream _spyStream = spyStream;
if (_spyStream != null)
{
try
{
if (ch != '\r')
{
_spyStream.write(ch);
if (ch == '\n')
{
_spyStream.write('\r');
}
_spyStream.flush();
}
}
catch (IOException e)
{
spyStream = null;
}
}
}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.