aboutsummaryrefslogtreecommitdiffstats
path: root/java/src
diff options
context:
space:
mode:
authorTadashi G. Takaoka <takaoka@google.com>2013-11-15 15:26:45 +0900
committerTadashi G. Takaoka <takaoka@google.com>2013-11-15 17:19:23 +0900
commitbe734d298aeb716af6fc3848cb955ec0660b40b6 (patch)
tree9897c5fe02a06892b0bd2e8e076814bc6416d771 /java/src
parent2bf3a778148aff36e991a3684c6044bdb985ed47 (diff)
downloadlatinime-be734d298aeb716af6fc3848cb955ec0660b40b6.tar.gz
latinime-be734d298aeb716af6fc3848cb955ec0660b40b6.tar.xz
latinime-be734d298aeb716af6fc3848cb955ec0660b40b6.zip
Return copied String array from getStringArray method
In the Key class constructor, elements in a String[] instance returned from DeclaredKeyStyle.getStringArray() may be altered by KeySpecParser.get(Int|Boolean)Value methods. Bug: 11245712 Change-Id: I3a7fc5ccdb2a14efb72c402dd11559ab13e08596
Diffstat (limited to 'java/src')
-rw-r--r--java/src/com/android/inputmethod/keyboard/internal/KeyStylesSet.java4
1 files changed, 3 insertions, 1 deletions
diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeyStylesSet.java b/java/src/com/android/inputmethod/keyboard/internal/KeyStylesSet.java
index 05d855e31..f7e43a6c2 100644
--- a/java/src/com/android/inputmethod/keyboard/internal/KeyStylesSet.java
+++ b/java/src/com/android/inputmethod/keyboard/internal/KeyStylesSet.java
@@ -27,6 +27,7 @@ import com.android.inputmethod.latin.utils.XmlParseUtils;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
+import java.util.Arrays;
import java.util.HashMap;
public final class KeyStylesSet {
@@ -90,7 +91,8 @@ public final class KeyStylesSet {
}
final Object value = mStyleAttributes.get(index);
if (value != null) {
- return (String[])value;
+ final String[] array = (String[])value;
+ return Arrays.copyOf(array, array.length);
}
final KeyStyle parentStyle = mStyles.get(mParentStyleName);
return parentStyle.getStringArray(a, index);