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.java19
1 files changed, 18 insertions, 1 deletions
diff --git a/java/src/IceInternal/BasicStream.java b/java/src/IceInternal/BasicStream.java
index 8d8a999e5af..efc602aa773 100644
--- a/java/src/IceInternal/BasicStream.java
+++ b/java/src/IceInternal/BasicStream.java
@@ -9,6 +9,8 @@
package IceInternal;
+import java.io.IOException;
+
public class BasicStream
{
public
@@ -941,16 +943,31 @@ public class BasicStream
{
return null;
}
+ ObjectInputStream in = null;
try
{
InputStreamWrapper w = new InputStreamWrapper(sz, this);
- ObjectInputStream in = new ObjectInputStream(_instance, w);
+ in = new ObjectInputStream(_instance, w);
return (java.io.Serializable)in.readObject();
}
catch(java.lang.Exception ex)
{
throw new Ice.MarshalException("cannot deserialize object", ex);
}
+ finally
+ {
+ if(in != null)
+ {
+ try
+ {
+ in.close();
+ }
+ catch (IOException ex)
+ {
+ throw new Ice.MarshalException("cannot deserialize object", ex);
+ }
+ }
+ }
}
public void