From d322eec3c34f95cd2e456a7a2c9003e78fb1ddd6 Mon Sep 17 00:00:00 2001 From: pjulien Date: Sat, 9 May 2015 14:08:28 -0400 Subject: [PATCH] Issue #188 When accessing the array directly of a byte buffer, need to offset by ``arrayOffset`` --- java/com/google/flatbuffers/Table.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java/com/google/flatbuffers/Table.java b/java/com/google/flatbuffers/Table.java index 3ed99ad..1f7ae41 100644 --- a/java/com/google/flatbuffers/Table.java +++ b/java/com/google/flatbuffers/Table.java @@ -45,7 +45,7 @@ public class Table { protected String __string(int offset) { offset += bb.getInt(offset); if (bb.hasArray()) { - return new String(bb.array(), offset + SIZEOF_INT, bb.getInt(offset), FlatBufferBuilder.utf8charset); + return new String(bb.array(), bb.arrayOffset() + offset + SIZEOF_INT, bb.getInt(offset), FlatBufferBuilder.utf8charset); } else { // We can't access .array(), since the ByteBuffer is read-only, // off-heap or a memory map -- 2.7.4