From cc56417a80d74b3db28b8f302462da970992658f Mon Sep 17 00:00:00 2001 From: Abhijeet Kaur Date: Thu, 28 Feb 2019 11:50:27 +0000 Subject: [PATCH] Bugreport Manager service clear binder identity Binder identity of the caller needs to be cleared before making a call to ensureIsPrimaryUser() and is later restored for the rest of the code to execute. Test: Manually by triggering bugreports from 'settings' using bugreport API. Change-Id: Ida781b633efbea57a9442fb9a8a5f823f9acbe8b --- .../java/com/android/server/os/BugreportManagerServiceImpl.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/services/core/java/com/android/server/os/BugreportManagerServiceImpl.java b/services/core/java/com/android/server/os/BugreportManagerServiceImpl.java index f4454ae2a180..85a3ba1a8559 100644 --- a/services/core/java/com/android/server/os/BugreportManagerServiceImpl.java +++ b/services/core/java/com/android/server/os/BugreportManagerServiceImpl.java @@ -78,7 +78,12 @@ class BugreportManagerServiceImpl extends IDumpstate.Stub { Preconditions.checkNotNull(bugreportFd); Preconditions.checkNotNull(listener); validateBugreportMode(bugreportMode); - ensureIsPrimaryUser(); + final long identity = Binder.clearCallingIdentity(); + try { + ensureIsPrimaryUser(); + } finally { + Binder.restoreCallingIdentity(identity); + } int callingUid = Binder.getCallingUid(); mAppOps.checkPackage(callingUid, callingPackage); -- 2.11.0