From 3d20bf93fde055c5128bd71b28a0f40144d2800c Mon Sep 17 00:00:00 2001 From: Kevin Chyn Date: Wed, 2 Jun 2021 09:40:12 -0700 Subject: [PATCH] Fix array out of bounds in BiometricEnrollActivity Bug: 189876828 Test: adb shell am start -a android.settings.BIOMETRIC_ENROLL Change-Id: I89f8ea1353cd9243c20c6184d579707da27e7b6f --- .../settings/biometrics/BiometricEnrollActivity.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/com/android/settings/biometrics/BiometricEnrollActivity.java b/src/com/android/settings/biometrics/BiometricEnrollActivity.java index 4702fed424a..11313fd52d4 100644 --- a/src/com/android/settings/biometrics/BiometricEnrollActivity.java +++ b/src/com/android/settings/biometrics/BiometricEnrollActivity.java @@ -266,10 +266,12 @@ public class BiometricEnrollActivity extends InstrumentedActivity { faceManager.getSensorPropertiesInternal(); // This would need to be updated for devices with multiple sensors of the same modality - mIsFaceEnrollable = faceManager.getEnrolledFaces(mUserId).size() - < faceProperties.get(0).maxEnrollmentsPerUser; - mIsFingerprintEnrollable = fingerprintManager.getEnrolledFingerprints(mUserId).size() - < fpProperties.get(0).maxEnrollmentsPerUser; + mIsFaceEnrollable = !faceProperties.isEmpty() && + faceManager.getEnrolledFaces(mUserId).size() + < faceProperties.get(0).maxEnrollmentsPerUser; + mIsFingerprintEnrollable = !fpProperties.isEmpty() && + fingerprintManager.getEnrolledFingerprints(mUserId).size() + < fpProperties.get(0).maxEnrollmentsPerUser; if (!mConfirmingCredentials) { mConfirmingCredentials = true;