OSDN Git Service

avformat/matroskadec: check generic audio deinterleaver sub_packet_size against frame...
authorMichael Niedermayer <michaelni@gmx.at>
Fri, 10 Jan 2014 22:10:47 +0000 (23:10 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Mon, 13 Jan 2014 15:09:26 +0000 (16:09 +0100)
Fixes use of uninitialized memory
Fixes: msan_uninit-mem_7f67d052a530_7517_nosound.mkv
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit a1ed1c2193483849df689b105bec0d26c2497999)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavformat/matroskadec.c

index babf4b8..cafc96e 100644 (file)
@@ -2178,7 +2178,7 @@ static int matroska_parse_rm_audio(MatroskaDemuxContext *matroska,
             }
             memcpy(track->audio.buf + y*w, data, w);
         } else {
-            if (size < sps * w / sps || h<=0) {
+            if (size < sps * w / sps || h<=0 || w%sps) {
                 av_log(matroska->ctx, AV_LOG_ERROR,
                        "Corrupt generic RM-style audio packet size\n");
                 return AVERROR_INVALIDDATA;