diff options
author | eugeni <eugeni@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2007-05-01 23:04:21 +0000 |
---|---|---|
committer | eugeni <eugeni@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2007-05-01 23:04:21 +0000 |
commit | 476078aed29bd258bf4e01b9b2a78bafb9840a41 (patch) | |
tree | f51619899953f273e9cb989a8a80a072f343ee17 | |
parent | a03e13b75631043d763b859d596fd0d00842ca6e (diff) | |
download | mpv-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
-rw-r--r-- | libmpdemux/demux_mkv.c | 4 |
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); } |