Allow the System UID to unregister ConnDiags CBs.
This CL updates ConnectivityService to allow the System's UID to unregister ConnectivityDiagnostics callbacks. Preivously, only the registrant was allowed to unregister them - this caused problems for callbacks that were attempted to be unregistered via binderDied() when the registrant app dies. Bug: 159912975 Bug: 174713659 Test: manually verified Change-Id: I20d0cad5f902708d366aa703c2893b0ea3e55052
This commit is contained in:
@@ -8092,8 +8092,10 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
||||
|
||||
final NetworkRequestInfo nri = cbInfo.mRequestInfo;
|
||||
|
||||
if (uid != nri.mUid) {
|
||||
if (VDBG) loge("Different uid than registrant attempting to unregister cb");
|
||||
// Caller's UID must either be the registrants (if they are unregistering) or the System's
|
||||
// (if the Binder died)
|
||||
if (uid != nri.mUid && uid != Process.SYSTEM_UID) {
|
||||
if (DBG) loge("Uid(" + uid + ") not registrant's (" + nri.mUid + ") or System's");
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user