diff options
author | Svetoslav <svetoslavganov@google.com> | 2015-04-23 15:55:03 -0700 |
---|---|---|
committer | Svetoslav <svetoslavganov@google.com> | 2015-04-23 15:55:03 -0700 |
commit | 5bd5d4c2b0b12fcd76b58dfb3d834f1159ff054e (patch) | |
tree | 4c6ca28aad81c8c51cb4e636a1ff32a56851a072 /services | |
parent | 3f3a2a87e63ba53b4907feccc25cd48f8d482c81 (diff) | |
download | frameworks_base-5bd5d4c2b0b12fcd76b58dfb3d834f1159ff054e.zip frameworks_base-5bd5d4c2b0b12fcd76b58dfb3d834f1159ff054e.tar.gz frameworks_base-5bd5d4c2b0b12fcd76b58dfb3d834f1159ff054e.tar.bz2 |
Clear binder identity before reaching into keyguard settings
Change-Id: I80eeaed235acc165ddd4799ba46700afea2dff55
Diffstat (limited to 'services')
-rw-r--r-- | services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java | 33 |
1 files changed, 19 insertions, 14 deletions
diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java index 44b3f69..dfe3ec1 100644 --- a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java +++ b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java @@ -1630,20 +1630,25 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub { // sufficiently what is currently set. Note that this is only // a sanity check in case the two get out of sync; this should // never normally happen. - LockPatternUtils utils = new LockPatternUtils(mContext); - if (utils.getActivePasswordQuality(userHandle) < policy.mActivePasswordQuality) { - Slog.w(LOG_TAG, "Active password quality 0x" - + Integer.toHexString(policy.mActivePasswordQuality) - + " does not match actual quality 0x" - + Integer.toHexString(utils.getActivePasswordQuality(userHandle))); - policy.mActivePasswordQuality = DevicePolicyManager.PASSWORD_QUALITY_UNSPECIFIED; - policy.mActivePasswordLength = 0; - policy.mActivePasswordUpperCase = 0; - policy.mActivePasswordLowerCase = 0; - policy.mActivePasswordLetters = 0; - policy.mActivePasswordNumeric = 0; - policy.mActivePasswordSymbols = 0; - policy.mActivePasswordNonLetter = 0; + final long identity = Binder.clearCallingIdentity(); + try { + LockPatternUtils utils = new LockPatternUtils(mContext); + if (utils.getActivePasswordQuality(userHandle) < policy.mActivePasswordQuality) { + Slog.w(LOG_TAG, "Active password quality 0x" + + Integer.toHexString(policy.mActivePasswordQuality) + + " does not match actual quality 0x" + + Integer.toHexString(utils.getActivePasswordQuality(userHandle))); + policy.mActivePasswordQuality = DevicePolicyManager.PASSWORD_QUALITY_UNSPECIFIED; + policy.mActivePasswordLength = 0; + policy.mActivePasswordUpperCase = 0; + policy.mActivePasswordLowerCase = 0; + policy.mActivePasswordLetters = 0; + policy.mActivePasswordNumeric = 0; + policy.mActivePasswordSymbols = 0; + policy.mActivePasswordNonLetter = 0; + } + } finally { + Binder.restoreCallingIdentity(identity); } validatePasswordOwnerLocked(policy); |