diff options
| author | 2023-08-04 16:47:05 -0700 | |
|---|---|---|
| committer | 2023-08-04 17:15:56 -0700 | |
| commit | 4cc23a4a0fa5f8dae680ff9605ab017f8c68398d (patch) | |
| tree | a0df291cdc7ab5019903238aa54cc843ff8d247f | |
| parent | 6a67ea5e7dee8df1094344d976cca25e0bb4e7a3 (diff) | |
Fixed memory issue for audio mix info callback
On the native side the callback had the incorrect address of the
memory to release thus leading to a crash.
Bug: 293643676
Test: m -j, run audio service with register audio policy
Change-Id: Ia33115e4e9b7d116f9bd2d8f036558d95ab7dd8d
| -rw-r--r-- | core/jni/android_media_AudioSystem.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/core/jni/android_media_AudioSystem.cpp b/core/jni/android_media_AudioSystem.cpp index 4cf17b78f489..199854818989 100644 --- a/core/jni/android_media_AudioSystem.cpp +++ b/core/jni/android_media_AudioSystem.cpp @@ -523,13 +523,14 @@ android_media_AudioSystem_dyn_policy_callback(int event, String8 regId, int val) } jclass clazz = env->FindClass(kClassPathName); - const char* zechars = regId.string(); - jstring zestring = env->NewStringUTF(zechars); + const char *regIdString = regId.string(); + jstring regIdJString = env->NewStringUTF(regIdString); env->CallStaticVoidMethod(clazz, gAudioPolicyEventHandlerMethods.postDynPolicyEventFromNative, - event, zestring, val); + event, regIdJString, val); - env->ReleaseStringUTFChars(zestring, zechars); + const char *regIdJChars = env->GetStringUTFChars(regIdJString, NULL); + env->ReleaseStringUTFChars(regIdJString, regIdJChars); env->DeleteLocalRef(clazz); } |