[212075] Save corruption
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModulePublishInfo.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModulePublishInfo.java
index 47d188c..893e076 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModulePublishInfo.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModulePublishInfo.java
@@ -168,7 +168,7 @@
Trace.trace(Trace.FINEST, "Loading module publish info");
moduleId = in.readUTF();
- byte b = in.readByte();
+ byte b = in.readByte(); // 8?
if ((b & 1) != 0)
name = in.readUTF();
@@ -188,6 +188,8 @@
private IModuleResource[] loadResource(DataInput in, IPath path) throws IOException {
int size = in.readInt();
+ if (size > 1000)
+ size = 1000;
IModuleResource[] resources2 = new IModuleResource[size];
for (int i = 0; i < size; i++) {
@@ -234,7 +236,7 @@
if (resources2 == null)
return;
int size = resources2.length;
- out.writeInt(0);
+ out.writeInt(size);
for (int i = 0; i < size; i++) {
if (resources2[i] instanceof IModuleFile) {
IModuleFile file = (IModuleFile) resources2[i];