From 33ae2f6d6008fd17d684c5e61dbdd5b4da376da5 Mon Sep 17 00:00:00 2001 From: Vlad Popa Date: Tue, 25 Apr 2023 17:44:36 +0200 Subject: [PATCH] Fix exception checking after native prepare call Test: atest MediaPlayerUnitTest Bug: 279575542 Change-Id: I33da791e4eabfc350b6e135795c067678e730752 --- media/jni/android_media_MediaPlayer.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/media/jni/android_media_MediaPlayer.cpp b/media/jni/android_media_MediaPlayer.cpp index 95522001d3420..44aff6408f5ba 100644 --- a/media/jni/android_media_MediaPlayer.cpp +++ b/media/jni/android_media_MediaPlayer.cpp @@ -385,6 +385,10 @@ android_media_MediaPlayer_prepare(JNIEnv *env, jobject thiz, jobject piidParcel) process_media_player_call( env, thiz, mp->prepare(), "java/io/IOException", "Prepare failed." ); + if (env->ExceptionCheck()) { + return UNKNOWN_ERROR; + } + // update the piid Parcel *request = parcelForJavaObject(env, piidParcel); auto reply = std::make_unique(); @@ -407,6 +411,10 @@ android_media_MediaPlayer_prepareAsync(JNIEnv *env, jobject thiz, jobject piidPa process_media_player_call( env, thiz, mp->prepareAsync(), "java/io/IOException", "Prepare Async failed." ); + if (env->ExceptionCheck()) { + return UNKNOWN_ERROR; + } + // update the piid Parcel *request = parcelForJavaObject(env, piidParcel); auto reply = std::make_unique();