summaryrefslogtreecommitdiffstats
path: root/media
diff options
context:
space:
mode:
authorAndroid (Google) Code Review <android-gerrit@google.com>2009-05-11 12:18:55 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2009-05-11 12:18:55 -0700
commit7f2ae493c58e221b2961ccbd92de24565665633c (patch)
treec4f3442ba554b3642187954d3ad0b63a8af69b3c /media
parent3b30d80f5ef10a3c5c596283ef1f15e9ff6a3aa4 (diff)
parent429a3b5f1d94327e5cbb2dc80667af4574bba388 (diff)
downloadframeworks_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.cpp5
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()),