summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBen Boeckel <mathstuf@gmail.com>2013-09-26 20:42:09 -0400
committerwm4 <wm4@nowhere>2013-09-27 08:45:02 +0200
commit9f149717a625d03033380fd5f6904b328ea51f5b (patch)
tree24b33399825d51f775d445ea052e6df81c228a2e
parent2970352b2590292301f322653af6caf275fc16f5 (diff)
downloadmpv-9f149717a625d03033380fd5f6904b328ea51f5b.tar.bz2
mpv-9f149717a625d03033380fd5f6904b328ea51f5b.tar.xz
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.
-rw-r--r--demux/demux_mkv.c10
1 files changed, 5 insertions, 5 deletions
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. "