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);
}