[FFmpeg-cvslog] avcodec/wmalosslessdec: completely initialize contains_subframe

Michael Niedermayer git at videolan.org
Mon Dec 16 14:36:26 CET 2013


ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Mon Dec 16 12:48:56 2013 +0100| [e2742d6ad69595fd2af36adf0883e37701307f52] | committer: Michael Niedermayer

avcodec/wmalosslessdec: completely initialize contains_subframe

Fixes use of uninitialized memory
Fixes: msan_uninit-mem_7f60c46325d7_6415_luckynight.wma
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=e2742d6ad69595fd2af36adf0883e37701307f52
---

 libavcodec/wmalosslessdec.c |    6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/libavcodec/wmalosslessdec.c b/libavcodec/wmalosslessdec.c
index 7a80248..71d8aa3 100644
--- a/libavcodec/wmalosslessdec.c
+++ b/libavcodec/wmalosslessdec.c
@@ -348,11 +348,11 @@ static int decode_tilehdr(WmallDecodeCtx *s)
             if (num_samples[c] == min_channel_len) {
                 if (fixed_channel_layout || channels_for_cur_subframe == 1 ||
                    (min_channel_len == s->samples_per_frame - s->min_samples_per_subframe)) {
-                    contains_subframe[c] = in_use = 1;
+                    contains_subframe[c] = 1;
                 } else {
-                    if (get_bits1(&s->gb))
-                        contains_subframe[c] = in_use = 1;
+                    contains_subframe[c] = get_bits1(&s->gb);
                 }
+                in_use |= contains_subframe[c];
             } else
                 contains_subframe[c] = 0;
         }



More information about the ffmpeg-cvslog mailing list