summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/core/java/com/android/server/policy/AppOpsPolicy.java13
1 files changed, 11 insertions, 2 deletions
diff --git a/services/core/java/com/android/server/policy/AppOpsPolicy.java b/services/core/java/com/android/server/policy/AppOpsPolicy.java
index 607bc569ad64..50c4ade732b0 100644
--- a/services/core/java/com/android/server/policy/AppOpsPolicy.java
+++ b/services/core/java/com/android/server/policy/AppOpsPolicy.java
@@ -43,8 +43,6 @@ import com.android.internal.annotations.GuardedBy;
import com.android.internal.util.function.DecFunction;
import com.android.internal.util.function.HeptFunction;
import com.android.internal.util.function.HexFunction;
-import com.android.internal.util.function.NonaFunction;
-import com.android.internal.util.function.OctFunction;
import com.android.internal.util.function.QuadFunction;
import com.android.internal.util.function.QuintFunction;
import com.android.internal.util.function.TriFunction;
@@ -313,6 +311,17 @@ public final class AppOpsPolicy implements AppOpsManagerInternal.CheckOpsDelegat
if (appIdTags == null) {
appIdTags = new ArrayMap<>();
}
+
+ // Remove any invalid tags
+ boolean nullRemoved = packageTags.remove(null);
+ boolean nullStrRemoved = packageTags.remove("null");
+ boolean emptyRemoved = packageTags.remove("");
+ if (nullRemoved || nullStrRemoved || emptyRemoved) {
+ Log.e(LOG_TAG, "Attempted to add invalid source attribution tag, removed "
+ + "null: " + nullRemoved + " removed \"null\": " + nullStrRemoved
+ + " removed empty string: " + emptyRemoved);
+ }
+
appIdTags.put(packageName, packageTags);
datastore.put(appId, appIdTags);
} else if (appIdTags != null) {