From 15bff99de644be9ebccb0c4cfbce9dceea273abe Mon Sep 17 00:00:00 2001 From: Andre Eisenbach Date: Mon, 4 May 2015 14:00:47 -0700 Subject: Handle 0-length byte buffers in micro and nano protobufs Change-Id: I845ee1ab1005d25c8d77a8c2ed801c0f7b7c847b --- .../main/java/com/google/protobuf/nano/CodedInputByteBufferNano.java | 2 ++ 1 file changed, 2 insertions(+) (limited to 'javanano') diff --git a/javanano/src/main/java/com/google/protobuf/nano/CodedInputByteBufferNano.java b/javanano/src/main/java/com/google/protobuf/nano/CodedInputByteBufferNano.java index 4b45c6d2..f3993155 100644 --- a/javanano/src/main/java/com/google/protobuf/nano/CodedInputByteBufferNano.java +++ b/javanano/src/main/java/com/google/protobuf/nano/CodedInputByteBufferNano.java @@ -236,6 +236,8 @@ public final class CodedInputByteBufferNano { System.arraycopy(buffer, bufferPos, result, 0, size); bufferPos += size; return result; + } else if (size == 0) { + return WireFormatNano.EMPTY_BYTES; } else { // Slow path: Build a byte array first then copy it. return readRawBytes(size); -- cgit v1.2.3