From e576a0d53705086eebc765131c02d318ab7a86cb Mon Sep 17 00:00:00 2001 From: Jean Chalard <jchalard@google.com> Date: Tue, 26 Jul 2011 19:24:58 +0900 Subject: [PATCH] Fix a NPE when sent buggy data by an application Bug: 5072247 Change-Id: I7369877072f6bb94dff5b1bcf52c9f8dde4854b7 --- .../android/inputmethod/latin/SuggestedWords.java | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/java/src/com/android/inputmethod/latin/SuggestedWords.java b/java/src/com/android/inputmethod/latin/SuggestedWords.java index 84db175047..b77cbd199f 100644 --- a/java/src/com/android/inputmethod/latin/SuggestedWords.java +++ b/java/src/com/android/inputmethod/latin/SuggestedWords.java @@ -16,6 +16,7 @@ package com.android.inputmethod.latin; +import android.text.TextUtils; import android.view.inputmethod.CompletionInfo; import java.util.ArrayList; @@ -105,14 +106,18 @@ public class SuggestedWords { } private Builder addWord(CharSequence word, SuggestedWordInfo suggestedWordInfo) { - mWords.add(word); - mSuggestedWordInfoList.add(suggestedWordInfo); + if (!TextUtils.isEmpty(word)) { + mWords.add(word); + // It's okay if suggestedWordInfo is null since it's checked where it's used. + mSuggestedWordInfoList.add(suggestedWordInfo); + } return this; } public Builder setApplicationSpecifiedCompletions(CompletionInfo[] infos) { - for (CompletionInfo info : infos) - addWord(info.getText()); + for (CompletionInfo info : infos) { + if (null != info) addWord(info.getText()); + } return this; } -- GitLab