summaryrefslogtreecommitdiff
path: root/core/java/android/widget/SpellChecker.java
diff options
context:
space:
mode:
Diffstat (limited to 'core/java/android/widget/SpellChecker.java')
-rw-r--r--core/java/android/widget/SpellChecker.java5
1 files changed, 4 insertions, 1 deletions
diff --git a/core/java/android/widget/SpellChecker.java b/core/java/android/widget/SpellChecker.java
index a16c1519e4d0..7c04b1cc195b 100644
--- a/core/java/android/widget/SpellChecker.java
+++ b/core/java/android/widget/SpellChecker.java
@@ -461,7 +461,7 @@ public class SpellChecker implements SpellCheckerSessionListener {
@Override
public void onGetSentenceSuggestions(SentenceSuggestionsInfo[] results) {
final Editable editable = (Editable) mTextView.getText();
-
+ final int sentenceLength = editable.length();
for (int i = 0; i < results.length; ++i) {
final SentenceSuggestionsInfo ssi = results[i];
if (ssi == null) {
@@ -475,6 +475,9 @@ public class SpellChecker implements SpellCheckerSessionListener {
}
final int offset = ssi.getOffsetAt(j);
final int length = ssi.getLengthAt(j);
+ if (offset < 0 || offset + length > sentenceLength) {
+ continue;
+ }
final SpellCheckSpan scs = onGetSuggestionsInternal(
suggestionsInfo, offset, length);
if (spellCheckSpan == null && scs != null) {