[Android] Remote access websockets: validate track ID format in SET_AUDIO_TRACK and SET_SUBTITLE_TRACK

Nicolas Pomepuy git at videolan.org
Wed Sep 9 06:43:37 UTC 2026


vlc-android | branch: master | Nicolas Pomepuy <nicolas at videolabs.io> | Thu Sep  3 15:00:06 2026 +0200| [f867dd233c6ad0d9ca5066406adb5a3504f44669] | committer: Duncan McNamara

Remote access websockets: validate track ID format in SET_AUDIO_TRACK and SET_SUBTITLE_TRACK

> https://code.videolan.org/videolan/vlc-android/commit/f867dd233c6ad0d9ca5066406adb5a3504f44669
---

 .../vlc/remoteaccessserver/websockets/RemoteAccessWebSockets.kt   | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/application/remote-access-server/src/main/java/org/videolan/vlc/remoteaccessserver/websockets/RemoteAccessWebSockets.kt b/application/remote-access-server/src/main/java/org/videolan/vlc/remoteaccessserver/websockets/RemoteAccessWebSockets.kt
index 199eba3d6a..6db6ff2648 100644
--- a/application/remote-access-server/src/main/java/org/videolan/vlc/remoteaccessserver/websockets/RemoteAccessWebSockets.kt
+++ b/application/remote-access-server/src/main/java/org/videolan/vlc/remoteaccessserver/websockets/RemoteAccessWebSockets.kt
@@ -252,8 +252,12 @@ object RemoteAccessWebSockets {
             SET_BROWSER_AUDIO -> {
                 service?.playlistManager?.setBrowserAudio(incomingMessage.id == 1)
             }
-            SET_AUDIO_TRACK -> incomingMessage.stringValue?.let { trackId -> service?.setAudioTrack(trackId) }
-            SET_SUBTITLE_TRACK -> incomingMessage.stringValue?.let { trackId -> service?.setSpuTrack(trackId) }
+            SET_AUDIO_TRACK -> incomingMessage.stringValue?.let { trackId ->
+                if (trackId.toIntOrNull() != null) service?.setAudioTrack(trackId)
+            }
+            SET_SUBTITLE_TRACK -> incomingMessage.stringValue?.let { trackId ->
+                if (trackId.toIntOrNull() != null) service?.setSpuTrack(trackId)
+            }
             PICK_SUBTITLE -> incomingMessage.stringValue?.let { subtitleMrl ->
                 val subtitleUri = subtitleMrl.toUri()
                 service?.addSubtitleTrack(FileUtils.getUri(subtitleUri) ?: subtitleUri, true)



More information about the Android mailing list