summaryrefslogtreecommitdiffstats
path: root/demux
diff options
context:
space:
mode:
authorDudemanguy <random342@airmail.cc>2023-12-15 23:50:58 +0200
committerJan Ekström <jeebjp@gmail.com>2023-12-16 00:21:49 +0200
commitd8a0808de5be51dbcb2ebafcf723d0de46bcae33 (patch)
tree66abf8c707e9f4de57654a6e6b7a1d9474d6cced /demux
parentef56c0c20a6f94bfc4b9f2d5880a16933835283b (diff)
downloadmpv-d8a0808de5be51dbcb2ebafcf723d0de46bcae33.tar.bz2
mpv-d8a0808de5be51dbcb2ebafcf723d0de46bcae33.tar.xz
demux_mkv: check that subtitle type is set before accessing it
Fixes crashes in case of unknown subtitle track being found, as the original ARIB caption logic added in 0da0acdae8e729eecfb2498ac11cb86a7fe3360d did not attempt to take into mention tracks with unknown type. Fixes #13106
Diffstat (limited to 'demux')
-rw-r--r--demux/demux_mkv.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/demux/demux_mkv.c b/demux/demux_mkv.c
index 41226c56ba..29b00aece3 100644
--- a/demux/demux_mkv.c
+++ b/demux/demux_mkv.c
@@ -1962,7 +1962,7 @@ static int demux_mkv_open_sub(demuxer_t *demuxer, mkv_track_t *track)
sh->codec->extradata = track->private_data;
sh->codec->extradata_size = track->private_size;
- if (!strcmp(sh->codec->codec, "arib_caption") && track->private_size >= 3) {
+ if (subtitle_type && !strcmp(sh->codec->codec, "arib_caption") && track->private_size >= 3) {
struct AVCodecParameters **lavp = talloc_ptrtype(track, lavp);
talloc_set_destructor(lavp, avcodec_par_destructor);