From 9dc6c61a8012f7e7a79ada72a4b65dea676c52f6 Mon Sep 17 00:00:00 2001 From: Dianne Hackborn Date: Tue, 28 Jul 2015 17:30:59 -0700 Subject: Fix issue #22802782: APR: NPE in package manager with bad intent data If they pass in a null data for the intent matching, don't throw up on it, just consider it to not match. Change-Id: I30b6af49989eb8b5c2e585ce5d96416f0daff3a8 --- core/java/android/content/IntentFilter.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/java/android/content/IntentFilter.java b/core/java/android/content/IntentFilter.java index 19329ceaefec..3a17e23b0547 100644 --- a/core/java/android/content/IntentFilter.java +++ b/core/java/android/content/IntentFilter.java @@ -1206,7 +1206,7 @@ public class IntentFilter implements Parcelable { * {@link #MATCH_CATEGORY_PORT}, {@link #NO_MATCH_DATA}. */ public final int matchDataAuthority(Uri data) { - if (mDataAuthorities == null) { + if (mDataAuthorities == null || data == null) { return NO_MATCH_DATA; } final int numDataAuthorities = mDataAuthorities.size(); @@ -1277,7 +1277,7 @@ public class IntentFilter implements Parcelable { } final ArrayList schemeSpecificParts = mDataSchemeSpecificParts; - if (schemeSpecificParts != null) { + if (schemeSpecificParts != null && data != null) { match = hasDataSchemeSpecificPart(data.getSchemeSpecificPart()) ? MATCH_CATEGORY_SCHEME_SPECIFIC_PART : NO_MATCH_DATA; } -- cgit v1.2.3-59-g8ed1b