OSDN Git Service

MediaRecorder: Fix crash when given a released Camera object
authorEino-Ville Talvala <etalvala@google.com>
Mon, 14 Jul 2014 19:02:21 +0000 (12:02 -0700)
committerEino-Ville Talvala <etalvala@google.com>
Mon, 14 Jul 2014 19:02:21 +0000 (12:02 -0700)
Bug: 15617637
Change-Id: I420ecc3f7b946dcf705cf210a7d493290f838f09

media/jni/android_media_MediaRecorder.cpp

index 1685a44..5646740 100644 (file)
@@ -157,6 +157,10 @@ static void android_media_MediaRecorder_setCamera(JNIEnv* env, jobject thiz, job
         return;
     }
     sp<Camera> c = get_native_camera(env, camera, NULL);
+    if (c == NULL) {
+        // get_native_camera will throw an exception in this case
+        return;
+    }
     sp<MediaRecorder> mr = getMediaRecorder(env, thiz);
     process_media_recorder_call(env, mr->setCamera(c->remote(), c->getRecordingProxy()),
             "java/lang/RuntimeException", "setCamera failed.");