diff --git a/services/java/com/android/server/WifiService.java b/services/java/com/android/server/WifiService.java index 2cae48b241594..5c38e632cc3f4 100644 --- a/services/java/com/android/server/WifiService.java +++ b/services/java/com/android/server/WifiService.java @@ -640,8 +640,11 @@ public class WifiService extends IWifiManager.Stub { */ long ident = Binder.clearCallingIdentity(); - handleWifiToggled(enable); - Binder.restoreCallingIdentity(ident); + try { + handleWifiToggled(enable); + } finally { + Binder.restoreCallingIdentity(ident); + } if (enable) { if (!mIsReceiverRegistered) { @@ -838,12 +841,15 @@ public class WifiService extends IWifiManager.Stub { enforceAccessPermission(); int userId = UserHandle.getCallingUserId(); long ident = Binder.clearCallingIdentity(); - int currentUser = ActivityManager.getCurrentUser(); - Binder.restoreCallingIdentity(ident); - if (userId != currentUser) { - return new ArrayList(); - } else { - return mWifiStateMachine.syncGetScanResultsList(); + try { + int currentUser = ActivityManager.getCurrentUser(); + if (userId != currentUser) { + return new ArrayList(); + } else { + return mWifiStateMachine.syncGetScanResultsList(); + } + } finally { + Binder.restoreCallingIdentity(ident); } }