diff options
Diffstat (limited to 'java/src/IceInternal/ThreadPool.java')
-rw-r--r-- | java/src/IceInternal/ThreadPool.java | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/java/src/IceInternal/ThreadPool.java b/java/src/IceInternal/ThreadPool.java index 0a2a2f9816d..e501e92e7f5 100644 --- a/java/src/IceInternal/ThreadPool.java +++ b/java/src/IceInternal/ThreadPool.java @@ -723,7 +723,7 @@ public final class ThreadPool { if(_instance.properties().getPropertyAsInt("Ice.Warn.Connections") > 0) { - _instance.logger().warning("datagram connection exception:\n" + ex + + _instance.logger().warning("datagram connection exception:\n" + ex + "\n" + handler.toString()); } } @@ -900,7 +900,13 @@ public final class ThreadPool } int pos = stream.pos(); - assert(pos >= Protocol.headerSize); + if(pos < Protocol.headerSize) + { + // + // This situation is possible for small UDP packets. + // + throw new Ice.IllegalMessageSizeException(); + } stream.pos(0); byte[] m = new byte[4]; m[0] = stream.readByte(); |