summaryrefslogtreecommitdiffstats
path: root/libmpdemux/demux_mkv.c
diff options
context:
space:
mode:
authoreugeni <eugeni@b3059339-0415-0410-9bf9-f77b7e298cf2>2007-05-01 23:04:21 +0000
committereugeni <eugeni@b3059339-0415-0410-9bf9-f77b7e298cf2>2007-05-01 23:04:21 +0000
commit476078aed29bd258bf4e01b9b2a78bafb9840a41 (patch)
treef51619899953f273e9cb989a8a80a072f343ee17 /libmpdemux/demux_mkv.c
parenta03e13b75631043d763b859d596fd0d00842ca6e (diff)
downloadmpv-476078aed29bd258bf4e01b9b2a78bafb9840a41.tar.bz2
mpv-476078aed29bd258bf4e01b9b2a78bafb9840a41.tar.xz
Fix NULL pointer dereference in demux_mkv that happens when
demux_mkv_get_sub_lang (or demux_mkv_get_audio_lang) is called with an invalid track number. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@23205 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpdemux/demux_mkv.c')
-rw-r--r--libmpdemux/demux_mkv.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/libmpdemux/demux_mkv.c b/libmpdemux/demux_mkv.c
index 3bdedb4eb6..1e5c84f520 100644
--- a/libmpdemux/demux_mkv.c
+++ b/libmpdemux/demux_mkv.c
@@ -3738,7 +3738,7 @@ demux_mkv_get_sub_lang(demuxer_t *demuxer, int track_num, char *lang,
{
mkv_demuxer_t *mkv_d = (mkv_demuxer_t *) demuxer->priv;
mkv_track_t *track = demux_mkv_find_track_by_num (mkv_d, track_num, MATROSKA_TRACK_SUBTITLE);
- if (track->language && strcmp(track->language, "und"))
+ if (track && track->language && strcmp(track->language, "und"))
strlcpy(lang, track->language, maxlen);
}
@@ -3758,7 +3758,7 @@ demux_mkv_get_audio_lang(demuxer_t *demuxer, int track_num, char *lang,
{
mkv_demuxer_t *mkv_d = (mkv_demuxer_t *) demuxer->priv;
mkv_track_t *track = demux_mkv_find_track_by_num (mkv_d, track_num, MATROSKA_TRACK_AUDIO);
- if (track->language && strcmp(track->language, "und"))
+ if (track && track->language && strcmp(track->language, "und"))
strlcpy(lang, track->language, maxlen);
}