summaryrefslogtreecommitdiff
path: root/java/src/IceInternal/BasicStream.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/src/IceInternal/BasicStream.java')
-rw-r--r--java/src/IceInternal/BasicStream.java13
1 files changed, 13 insertions, 0 deletions
diff --git a/java/src/IceInternal/BasicStream.java b/java/src/IceInternal/BasicStream.java
index 9231aa107b7..67c5fefc3f1 100644
--- a/java/src/IceInternal/BasicStream.java
+++ b/java/src/IceInternal/BasicStream.java
@@ -613,6 +613,10 @@ public class BasicStream
public byte[]
readBlob(int sz)
{
+ if(_buf.b.remaining() < sz)
+ {
+ throw new Ice.UnmarshalOutOfBoundsException();
+ }
byte[] v = new byte[sz];
try
{
@@ -1211,6 +1215,15 @@ public class BasicStream
}
else
{
+
+ //
+ // Check the buffer has enough bytes to read.
+ //
+ if(_buf.b.remaining() < len)
+ {
+ throw new Ice.UnmarshalOutOfBoundsException();
+ }
+
try
{
//