From 46c0fb1f0f181bd463ca03743c35dc8a83b8f9aa Mon Sep 17 00:00:00 2001 From: fengyu Date: Thu, 7 Jan 2016 12:06:33 +0800 Subject: [PATCH] bytes split max length limit Signed-off-by: fengyu --- .../src/main/java/org/apache/kylin/common/util/BytesSplitter.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/core-common/src/main/java/org/apache/kylin/common/util/BytesSplitter.java b/core-common/src/main/java/org/apache/kylin/common/util/BytesSplitter.java index cf2704c..9a318ff 100644 --- a/core-common/src/main/java/org/apache/kylin/common/util/BytesSplitter.java +++ b/core-common/src/main/java/org/apache/kylin/common/util/BytesSplitter.java @@ -62,8 +62,11 @@ public class BytesSplitter { for (int i = 0; i < byteLen; i++) { if (bytes[i] == delimiter) { SplittedBytes split = this.splitBuffers[this.bufferSize++]; - split.length = length; + if(length > split.value.length) { + length = split.value.length; + } System.arraycopy(bytes, offset, split.value, 0, length); + split.length = length; offset = i + 1; length = 0; } else { @@ -71,6 +74,9 @@ public class BytesSplitter { } } SplittedBytes split = this.splitBuffers[this.bufferSize++]; + if(length > split.value.length) { + length = split.value.length; + } System.arraycopy(bytes, offset, split.value, 0, length); split.length = length; -- 1.9.4.msysgit.2