From 6b18a6839b43ea78e70cd3e35f781d1c955bda73 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Sat, 11 Jan 2014 02:04:01 +0100 Subject: [PATCH] avcodec/wmalosslessdec: shrink output on error so no uninitialized data is returned Fixes use of uninitialized memory partly fixes: msan_uninit-mem_7f7834b6a530_6473_luckynight-partial.wma Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer --- libavcodec/wmalosslessdec.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/libavcodec/wmalosslessdec.c b/libavcodec/wmalosslessdec.c index 8a08f5a6d4..4cf7f54143 100644 --- a/libavcodec/wmalosslessdec.c +++ b/libavcodec/wmalosslessdec.c @@ -1076,8 +1076,11 @@ static int decode_frame(WmallDecodeCtx *s) /* decode all subframes */ while (!s->parsed_all_subframes) { + int decoded_samples = s->channel[0].decoded_samples; if (decode_subframe(s) < 0) { s->packet_loss = 1; + if (s->frame->nb_samples) + s->frame->nb_samples = decoded_samples; return 0; } }