diff options
Diffstat (limited to 'core/jni')
| -rw-r--r-- | core/jni/android_hardware_Camera.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/core/jni/android_hardware_Camera.cpp b/core/jni/android_hardware_Camera.cpp index 169fb60..4f44c26 100644 --- a/core/jni/android_hardware_Camera.cpp +++ b/core/jni/android_hardware_Camera.cpp @@ -497,6 +497,12 @@ static void android_hardware_Camera_getCameraInfo(JNIEnv *env, jobject thiz, jint cameraId, jobject info_obj) { CameraInfo cameraInfo; + if (cameraId >= Camera::getNumberOfCameras() || cameraId < 0) { + ALOGE("%s: Unknown camera ID %d", __FUNCTION__, cameraId); + jniThrowRuntimeException(env, "Unknown camera ID"); + return; + } + status_t rc = Camera::getCameraInfo(cameraId, &cameraInfo); if (rc != NO_ERROR) { jniThrowRuntimeException(env, "Fail to get camera info"); |
