From 06e1305df28087dffdb737d5c51d8580db0111de Mon Sep 17 00:00:00 2001 From: zzz <zzz@mail.i2p> Date: Fri, 6 Feb 2009 21:19:45 +0000 Subject: [PATCH] prevent race NPE http://forum.i2p/viewtopic.php?t=3066 --- core/java/src/net/i2p/data/i2cp/I2CPMessageReader.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/core/java/src/net/i2p/data/i2cp/I2CPMessageReader.java b/core/java/src/net/i2p/data/i2cp/I2CPMessageReader.java index 53650ec199..13b01a67ad 100644 --- a/core/java/src/net/i2p/data/i2cp/I2CPMessageReader.java +++ b/core/java/src/net/i2p/data/i2cp/I2CPMessageReader.java @@ -134,9 +134,11 @@ public class I2CPMessageReader { public void cancelRunner() { _doRun = false; _stayAlive = false; - if (_stream != null) { + // prevent race NPE + InputStream in = _stream; + if (in != null) { try { - _stream.close(); + in.close(); } catch (IOException ioe) { _log.error("Error closing the stream", ioe); } @@ -164,6 +166,7 @@ public class I2CPMessageReader { _listener.disconnected(I2CPMessageReader.this); cancelRunner(); } catch (OutOfMemoryError oom) { + // ooms seen here... maybe log and keep going? throw oom; } catch (Exception e) { _log.log(Log.CRIT, "Unhandled error reading I2CP stream", e); @@ -182,4 +185,4 @@ public class I2CPMessageReader { // boom bye bye bad bwoy } } -} \ No newline at end of file +} -- GitLab