Interpret only valid entries of internalBuf of DirectoryInputStream

Signed-off-by: Bernard Metzler <bmt@zurich.ibm.com>
diff --git a/client/src/main/java/org/apache/crail/core/DirectoryRecord.java b/client/src/main/java/org/apache/crail/core/DirectoryRecord.java
index a975047..e15c6f7 100644
--- a/client/src/main/java/org/apache/crail/core/DirectoryRecord.java
+++ b/client/src/main/java/org/apache/crail/core/DirectoryRecord.java
@@ -54,10 +54,14 @@
 		int tmplimit = buffer.position() + CrailConstants.DIRECTORY_RECORD;
 		buffer.limit(tmplimit);
 		valid = buffer.getInt();
-		int length = buffer.getInt();
-		byte barray[] = new byte[length];
-		buffer.get(barray);
-		filename = new String(barray);
+		if (valid == 1) {
+			int length = buffer.getInt();
+			byte barray[] = new byte[length];
+			buffer.get(barray);
+			filename = new String(barray);
+		} else {
+			filename = null;
+		}
 		buffer.position(tmplimit);
 		buffer.limit(oldlimit);
 	}