summaryrefslogtreecommitdiffstats
path: root/core/jni
diff options
context:
space:
mode:
Diffstat (limited to 'core/jni')
-rw-r--r--core/jni/android_hardware_Camera.cpp6
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");