From e11983bda073f8c63f60509ee753da9fba20ed10 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Sat, 11 Jan 2014 04:36:15 +0100 Subject: [PATCH] avcodec/alac: only set *got_frame_ptr when all channels have been decoded Fixes use of uninitialized memory Fixes: msan_uninit-mem_7f8b64436530_7895_quicktime_newcodec_applelosslessaudiocodec.m4a Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer --- libavcodec/alac.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libavcodec/alac.c b/libavcodec/alac.c index 3f37f61883..1929839e70 100644 --- a/libavcodec/alac.c +++ b/libavcodec/alac.c @@ -490,7 +490,8 @@ static int alac_decode_frame(AVCodecContext *avctx, void *data, avpkt->size * 8 - get_bits_count(&alac->gb)); } - *got_frame_ptr = 1; + if (alac->channels == ch) + *got_frame_ptr = 1; return avpkt->size; }