diff options
author | Android (Google) Code Review <android-gerrit@google.com> | 2009-05-11 12:18:55 -0700 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2009-05-11 12:18:55 -0700 |
commit | 7f2ae493c58e221b2961ccbd92de24565665633c (patch) | |
tree | c4f3442ba554b3642187954d3ad0b63a8af69b3c /media | |
parent | 3b30d80f5ef10a3c5c596283ef1f15e9ff6a3aa4 (diff) | |
parent | 429a3b5f1d94327e5cbb2dc80667af4574bba388 (diff) | |
download | frameworks_base-7f2ae493c58e221b2961ccbd92de24565665633c.zip frameworks_base-7f2ae493c58e221b2961ccbd92de24565665633c.tar.gz frameworks_base-7f2ae493c58e221b2961ccbd92de24565665633c.tar.bz2 |
Merge change 1370 into donut
* changes:
Fix a JNI layer crash due to null camera object passed to get_native_camera() The fix will check on the camera object and if it is a null object, we throw a NullPointerException; application layer should also avoid passing a null java object to MediaRecorder.setCamera().
Diffstat (limited to 'media')
-rw-r--r-- | media/jni/android_media_MediaRecorder.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/media/jni/android_media_MediaRecorder.cpp b/media/jni/android_media_MediaRecorder.cpp index 209b09f..cac65d6 100644 --- a/media/jni/android_media_MediaRecorder.cpp +++ b/media/jni/android_media_MediaRecorder.cpp @@ -150,6 +150,11 @@ static sp<MediaRecorder> setMediaRecorder(JNIEnv* env, jobject thiz, const sp<Me static void android_media_MediaRecorder_setCamera(JNIEnv* env, jobject thiz, jobject camera) { + // we should not pass a null camera to get_native_camera() call. + if (camera == NULL) { + jniThrowException(env, "java/lang/NullPointerException", "camera object is a NULL pointer"); + return; + } sp<Camera> c = get_native_camera(env, camera, NULL); sp<MediaRecorder> mr = getMediaRecorder(env, thiz); process_media_recorder_call(env, mr->setCamera(c->remote()), |