Error introduced by 22ec38143d9a8638f37acbb4e3c1e0743deb5522 resolved.
diff --git a/org.eclipse.scout.rt.shared/src/org/eclipse/scout/rt/shared/servicetunnel/LenientPermissionWrapper.java b/org.eclipse.scout.rt.shared/src/org/eclipse/scout/rt/shared/servicetunnel/LenientPermissionWrapper.java
index e0a6c1c..6248af7 100644
--- a/org.eclipse.scout.rt.shared/src/org/eclipse/scout/rt/shared/servicetunnel/LenientPermissionWrapper.java
+++ b/org.eclipse.scout.rt.shared/src/org/eclipse/scout/rt/shared/servicetunnel/LenientPermissionWrapper.java
@@ -62,18 +62,17 @@
out.writeFields();
}
- private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException {
+ private void readObject(final ObjectInputStream in) throws IOException, ClassNotFoundException {
//no call to defaultReadObject
- final BundleObjectInputStream bundleIn = (in instanceof BundleObjectInputStream ? (BundleObjectInputStream) in : null);
try {
ObjectInputStream.GetField gfields = in.readFields();
m_className = (String) gfields.get("m_className", (String) null);
byte[] data = (byte[]) gfields.get("m_permission", (byte[]) null);
- //
+
ObjectInputStream localIn = new ObjectInputStream(new ByteArrayInputStream(data)) {
@Override
protected Class<?> resolveClass(ObjectStreamClass desc) throws IOException, ClassNotFoundException {
- return bundleIn != null ? bundleIn.resolveClass(desc) : Class.forName(desc.getName());
+ return (in instanceof BundleObjectInputStream) ? ((BundleObjectInputStream) in).resolveClass(desc) : Class.forName(desc.getName());
}
};
try {
@@ -86,11 +85,5 @@
catch (Throwable t) {
LOG.warn("cannot deserialize permission", t);
}
- finally {
- if (bundleIn != null) {
- bundleIn.close();
- }
- }
}
-
}