diff options
author | Alan Newberger <alann@google.com> | 2015-07-31 12:37:15 -0700 |
---|---|---|
committer | Alan Newberger <alann@google.com> | 2015-07-31 12:37:15 -0700 |
commit | c8594ddf504109dc3c17baf9c2448469b28973e9 (patch) | |
tree | 47b3bc997e43a5dd60ae4945fee456709f5a87d7 /src | |
parent | 51a59c80a1e60f91e446b0b55282204501cf56a7 (diff) | |
download | android_packages_apps_Camera2-c8594ddf504109dc3c17baf9c2448469b28973e9.tar.gz android_packages_apps_Camera2-c8594ddf504109dc3c17baf9c2448469b28973e9.tar.bz2 android_packages_apps_Camera2-c8594ddf504109dc3c17baf9c2448469b28973e9.zip |
Check for zero length array returns
permissions API may return zero length arrays, check before
access.
Bug: 22871531
Change-Id: I0ebd5feecb24f03fda0350a9ab42efa25127b3dc
Diffstat (limited to 'src')
-rw-r--r-- | src/com/android/camera/PermissionsActivity.java | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/com/android/camera/PermissionsActivity.java b/src/com/android/camera/PermissionsActivity.java index a3981ef0f..3fda04abb 100644 --- a/src/com/android/camera/PermissionsActivity.java +++ b/src/com/android/camera/PermissionsActivity.java @@ -179,21 +179,24 @@ public class PermissionsActivity extends QuickActivity { true); if (mShouldRequestCameraPermission) { - if (grantResults[mIndexPermissionRequestCamera] == PackageManager.PERMISSION_GRANTED) { + if (grantResults.length > 0 && grantResults[mIndexPermissionRequestCamera] == + PackageManager.PERMISSION_GRANTED) { mFlagHasCameraPermission = true; } else { handlePermissionsFailure(); } } if (mShouldRequestMicrophonePermission) { - if (grantResults[mIndexPermissionRequestMicrophone] == PackageManager.PERMISSION_GRANTED) { + if (grantResults.length > 0 && grantResults[mIndexPermissionRequestMicrophone] == + PackageManager.PERMISSION_GRANTED) { mFlagHasMicrophonePermission = true; } else { handlePermissionsFailure(); } } if (mShouldRequestStoragePermission) { - if (grantResults[mIndexPermissionRequestStorage] == PackageManager.PERMISSION_GRANTED) { + if (grantResults.length > 0 && grantResults[mIndexPermissionRequestStorage] == + PackageManager.PERMISSION_GRANTED) { mFlagHasStoragePermission = true; } else { handlePermissionsFailure(); @@ -201,7 +204,8 @@ public class PermissionsActivity extends QuickActivity { } if (mShouldRequestLocationPermission) { - if (grantResults[mIndexPermissionRequestLocation] == PackageManager.PERMISSION_GRANTED) { + if (grantResults.length > 0 && grantResults[mIndexPermissionRequestLocation] == + PackageManager.PERMISSION_GRANTED) { // Do nothing } else { // Do nothing |