From 9f149717a625d03033380fd5f6904b328ea51f5b Mon Sep 17 00:00:00 2001 From: Ben Boeckel Date: Thu, 26 Sep 2013 20:42:09 -0400 Subject: matroska: prevent uids from being dereferenced when NULL The old code prevented it since uids being NULL makes a 0 talloc length. Now that we're iterating over a specific length, NULL can be dereferenced. --- demux/demux_mkv.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'demux/demux_mkv.c') diff --git a/demux/demux_mkv.c b/demux/demux_mkv.c index fec2e223d0..bbbe88d903 100644 --- a/demux/demux_mkv.c +++ b/demux/demux_mkv.c @@ -392,11 +392,11 @@ static int demux_mkv_read_info(demuxer_t *demuxer) } if (demuxer->params && demuxer->params->matroska_wanted_uids) { unsigned char (*uids)[16] = demuxer->params->matroska_wanted_uids; - if (!info.n_segment_uid) - uids = NULL; - for (int i = 0; i < demuxer->params->matroska_num_wanted_uids; i++) { - if (!memcmp(info.segment_uid.start, uids[i], 16)) - goto out; + if (info.n_segment_uid) { + for (int i = 0; i < demuxer->params->matroska_num_wanted_uids; i++) { + if (!memcmp(info.segment_uid.start, uids[i], 16)) + goto out; + } } mp_tmsg(MSGT_DEMUX, MSGL_INFO, "[mkv] This is not one of the wanted files. " -- cgit v1.2.3