From 3e9331125af5a71d9a22df453558284e976d7a29 Mon Sep 17 00:00:00 2001 From: Mårten Kongstad Date: Mon, 9 Apr 2018 14:29:36 +0200 Subject: Add missing fields to OverlayInfo.hashCode OverlayInfo.category was inadvertently omitted when calculating the hash code for an OverlayInfo. Bug: 78809702 Test: atest OverlayHostTests OverlayDeviceTests Change-Id: Id196307f75569d851503ffd8ef778aec50c2de37 --- core/java/android/content/om/OverlayInfo.java | 1 + 1 file changed, 1 insertion(+) diff --git a/core/java/android/content/om/OverlayInfo.java b/core/java/android/content/om/OverlayInfo.java index 6e63342698b3..a10cc120ad6c 100644 --- a/core/java/android/content/om/OverlayInfo.java +++ b/core/java/android/content/om/OverlayInfo.java @@ -261,6 +261,7 @@ public final class OverlayInfo implements Parcelable { result = prime * result + state; result = prime * result + ((packageName == null) ? 0 : packageName.hashCode()); result = prime * result + ((targetPackageName == null) ? 0 : targetPackageName.hashCode()); + result = prime * result + ((category == null) ? 0 : category.hashCode()); result = prime * result + ((baseCodePath == null) ? 0 : baseCodePath.hashCode()); return result; } -- cgit v1.2.3-59-g8ed1b From f28bec4150dc3c4e85c5991f2ea97cc3b2419032 Mon Sep 17 00:00:00 2001 From: Mårten Kongstad Date: Thu, 16 Nov 2017 13:07:30 +0100 Subject: OMS: harden permission checks The IOverlayManager.aidl interface is protected by certain permissions. The overlay manager implements the permission checks by calling enforceCallingOrSelfPermission, but this method needlessly includes the permissions of system_server in the check. Harden the permission checks by switching from enforceCallingOrSelfPermission to enforceCallingPermission. Bug: 78809702 Test: atest OverlayHostTests OverlayDeviceTests Change-Id: I5851dd1683adf644ea8e5a58dce4d7377664342e --- services/core/java/com/android/server/om/OverlayManagerService.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/services/core/java/com/android/server/om/OverlayManagerService.java b/services/core/java/com/android/server/om/OverlayManagerService.java index 8562572c3c39..a6dfec7821b6 100644 --- a/services/core/java/com/android/server/om/OverlayManagerService.java +++ b/services/core/java/com/android/server/om/OverlayManagerService.java @@ -680,7 +680,7 @@ public final class OverlayManagerService extends SystemService { * @throws SecurityException if the permission check fails */ private void enforceChangeOverlayPackagesPermission(@NonNull final String message) { - getContext().enforceCallingOrSelfPermission( + getContext().enforceCallingPermission( android.Manifest.permission.CHANGE_OVERLAY_PACKAGES, message); } @@ -691,8 +691,7 @@ public final class OverlayManagerService extends SystemService { * @throws SecurityException if the permission check fails */ private void enforceDumpPermission(@NonNull final String message) { - getContext().enforceCallingOrSelfPermission(android.Manifest.permission.DUMP, - message); + getContext().enforceCallingPermission(android.Manifest.permission.DUMP, message); } }; -- cgit v1.2.3-59-g8ed1b