From 8aead3ffa89a7d92b54b049a63bf6485f643835b Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Tue, 7 Jan 2014 16:05:56 +0100 Subject: avformat/adxdec: dont return random data on EOF Fixes use of uninitialized memory Partly fixes; msan_uninit-mem_7fb7d24780d0_2744_R03T.CAK Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer --- libavcodec/adxdec.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'libavcodec/adxdec.c') diff --git a/libavcodec/adxdec.c b/libavcodec/adxdec.c index e59cc92..ec33e73 100644 --- a/libavcodec/adxdec.c +++ b/libavcodec/adxdec.c @@ -157,9 +157,11 @@ static int adx_decode_frame(AVCodecContext *avctx, void *data, buf_size -= BLOCK_SIZE; buf += BLOCK_SIZE; } - samples_offset += BLOCK_SAMPLES; + if (!c->eof) + samples_offset += BLOCK_SAMPLES; } + frame->nb_samples = samples_offset; *got_frame_ptr = 1; return buf - avpkt->data; -- cgit v1.1