From 1db583689685f515ca4dff9f0d3dad4a1a24275f Mon Sep 17 00:00:00 2001 From: peter Date: Sat, 23 Nov 2013 09:47:03 +0100 Subject: [PATCH] CharArrayUtil should not return array that's longer than CharSequence --- .../util/src/com/intellij/util/text/CharArrayUtil.java | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/platform/util/src/com/intellij/util/text/CharArrayUtil.java b/platform/util/src/com/intellij/util/text/CharArrayUtil.java index 3889596df481..718a842ea731 100644 --- a/platform/util/src/com/intellij/util/text/CharArrayUtil.java +++ b/platform/util/src/com/intellij/util/text/CharArrayUtil.java @@ -137,11 +137,10 @@ public class CharArrayUtil { if (seq instanceof CharBuffer) { final CharBuffer buffer = (CharBuffer)seq; if (buffer.hasArray() && !buffer.isReadOnly() && buffer.arrayOffset() == 0) { - return buffer.array(); - // final char[] bufArray = buffer.array(); - // return larger array. Clients may use seq.length() to calculate correct processing range. - // if (bufArray.length == seq.length()) - // return bufArray; + char[] array = buffer.array(); + if (buffer.length() == array.length) { + return array; + } } char[] chars = new char[seq.length()];