diff --git a/java/com/google/flatbuffers/FlatBufferBuilder.java b/java/com/google/flatbuffers/FlatBufferBuilder.java index 0214fd2651eb89f260069fa474b9bed169d467e2..f98fbedcec462bf621d16128b8067f5720cdb7e7 100644 --- a/java/com/google/flatbuffers/FlatBufferBuilder.java +++ b/java/com/google/flatbuffers/FlatBufferBuilder.java @@ -196,7 +196,7 @@ public class FlatBufferBuilder { int old_buf_size = bb.capacity(); if ((old_buf_size & 0xC0000000) != 0) // Ensure we don't grow beyond what fits in an int. throw new AssertionError("FlatBuffers: cannot grow buffer beyond 2 gigabytes."); - int new_buf_size = old_buf_size << 1; + int new_buf_size = old_buf_size == 0 ? 1 : old_buf_size << 1; bb.position(0); ByteBuffer nbb = bb_factory.newByteBuffer(new_buf_size); nbb.position(new_buf_size - old_buf_size);