From 7f786e5cbde9975b9632beb9b6d19eeef8a64cf1 Mon Sep 17 00:00:00 2001 From: Dmitri Plotnikov Date: Wed, 14 Apr 2010 16:11:28 -0700 Subject: Using strict projection map Change-Id: I36e42e5277e94da754e1c2c0e33d59a4c4018ef3 --- src/com/android/providers/contacts/ContactsProvider2.java | 2 ++ .../android/providers/contacts/RestrictionExceptionsTest.java | 9 +++++++++ 2 files changed, 11 insertions(+) diff --git a/src/com/android/providers/contacts/ContactsProvider2.java b/src/com/android/providers/contacts/ContactsProvider2.java index b65a1139..6a9d9185 100644 --- a/src/com/android/providers/contacts/ContactsProvider2.java +++ b/src/com/android/providers/contacts/ContactsProvider2.java @@ -4697,6 +4697,8 @@ public class ContactsProvider2 extends SQLiteContentProvider implements OnAccoun sortOrder, limit); } + qb.setStrictProjectionMap(true); + Cursor cursor = query(db, qb, projection, selection, selectionArgs, sortOrder, groupBy, limit); if (readBooleanQueryParameter(uri, ContactCounts.ADDRESS_BOOK_INDEX_EXTRAS, false)) { diff --git a/tests/src/com/android/providers/contacts/RestrictionExceptionsTest.java b/tests/src/com/android/providers/contacts/RestrictionExceptionsTest.java index af97e1f1..6209e549 100644 --- a/tests/src/com/android/providers/contacts/RestrictionExceptionsTest.java +++ b/tests/src/com/android/providers/contacts/RestrictionExceptionsTest.java @@ -326,4 +326,13 @@ public class RestrictionExceptionsTest extends AndroidTestCase { // Generic query can read generic status assertStatus(mRed, aggId, GENERIC_STATUS); } + + public void testStrictProjectionMap() { + try { + mGrey.provider.query(ContactsContract.Contacts.CONTENT_URI, + new String[] { "_id as noname, * FROM contacts--" }, null, null, null); + fail(); + } catch (Exception e) { + } + } } -- cgit v1.2.3