summaryrefslogtreecommitdiff
path: root/services/companion
diff options
context:
space:
mode:
authorEugene Susla <eugenesusla@google.com>2017-06-15 11:22:57 -0700
committerEugene Susla <eugenesusla@google.com>2017-06-15 18:30:44 +0000
commiteebd276715783df06f0e4720ccc709b59e551c59 (patch)
treed5a227a406233a84f0b6b8c0c9453d46f8b74659 /services/companion
parentffd8343ba87c7cdf84287b91972b987ffc41d4fb (diff)
Fix companion uses-permission enforcement
Fixes: b/62662686 Test: Call CompanionDeviceManager#associate from app without uses-permission declaration Ensure exception is thrown Call the method from app with the declaration Ensure no exception is thrown In debug mode catch the #isCallerSystem call from NotificationManagerService (which runs in the system process) and ensure it passes the check Change-Id: I26e5d2a7f5e63a346d4ab50b9ded1ec7dbc246a5
Diffstat (limited to 'services/companion')
-rw-r--r--services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java3
1 files changed, 2 insertions, 1 deletions
diff --git a/services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java b/services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java
index 73f1705e35df..4810f4fe8c82 100644
--- a/services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java
+++ b/services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java
@@ -47,6 +47,7 @@ import android.os.IBinder;
import android.os.IDeviceIdleController;
import android.os.IInterface;
import android.os.Parcel;
+import android.os.Process;
import android.os.RemoteException;
import android.os.ResultReceiver;
import android.os.ServiceManager;
@@ -345,7 +346,7 @@ public class CompanionDeviceManagerService extends SystemService implements Bind
}
private static boolean isCallerSystem() {
- return getCallingUserId() == UserHandle.USER_SYSTEM;
+ return Binder.getCallingUid() == Process.SYSTEM_UID;
}
private ServiceConnection createServiceConnection(