From 84c92aeac4efcf2d5eb60eb7bbc21c6827329209 Mon Sep 17 00:00:00 2001 From: Margaret Leibovic Date: Fri, 8 Nov 2013 13:35:41 -0800 Subject: [PATCH] Bug 935414 - Limit number of constraint terms in filter query. r=lucasr --- mobile/android/base/db/LocalBrowserDB.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/mobile/android/base/db/LocalBrowserDB.java b/mobile/android/base/db/LocalBrowserDB.java index ee5fc5d25546..28da909f6e9b 100644 --- a/mobile/android/base/db/LocalBrowserDB.java +++ b/mobile/android/base/db/LocalBrowserDB.java @@ -147,7 +147,9 @@ public class LocalBrowserDB implements BrowserDB.BrowserDBIface { // the constraint string(s), treating space-separated words as separate constraints if (!TextUtils.isEmpty(constraint)) { String[] constraintWords = constraint.toString().split(" "); - for (int i = 0; i < constraintWords.length; i++) { + // Only create a filter query with a maximum of 10 constraint words + int constraintCount = Math.min(constraintWords.length, 10); + for (int i = 0; i < constraintCount; i++) { selection = DBUtils.concatenateWhere(selection, "(" + Combined.URL + " LIKE ? OR " + Combined.TITLE + " LIKE ?)"); String constraintWord = "%" + constraintWords[i] + "%";