Browse Source

android: фикс UAF AudioTrack при переключении группы рации (start → releaseLocked)

proxy
evgeny 6 days ago
parent
commit
018c8e795d
  1. 5
      tools/chatgui-android/app/src/main/java/com/utun/chat/data/RadioAudioEngine.kt

5
tools/chatgui-android/app/src/main/java/com/utun/chat/data/RadioAudioEngine.kt

@ -82,7 +82,12 @@ class RadioAudioEngine {
private fun startBlocking(group: Long) { private fun startBlocking(group: Long) {
if (!active || groupId != group) return if (!active || groupId != group) return
/* Переключение группы: гасим старое аудио (active=false даёт старым
* capture/play-потокам выйти до release, иначе UAF AudioTrack в playLoop). */
active = false
releaseLocked(false) releaseLocked(false)
active = true
if (!NativeLib.radioAudioStart(group)) { if (!NativeLib.radioAudioStart(group)) {
active = false active = false

Loading…
Cancel
Save