From 7f9697aa114c9c452272351de759a6291e782da9 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Fri, 10 Jan 2014 00:32:39 +0100 Subject: [PATCH] avformat/nutdec: fix packet end clearing The code was buggy, using the wrong variable, also it missed the case where the packet become smaller due to sidedata/metadata being extracted which left a few bytes uninitialized Fixes use of uninitialized memory Fixed: msan_uninit-mem_7f6abbe44530_6838_mewmew_vorbis_ssa.nut Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer --- libavformat/nutdec.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavformat/nutdec.c b/libavformat/nutdec.c index 250e13fd9a..5746416180 100644 --- a/libavformat/nutdec.c +++ b/libavformat/nutdec.c @@ -1011,8 +1011,8 @@ static int decode_frame(NUTContext *nut, AVPacket *pkt, int frame_code) if (ret != size) { if (ret < 0) return ret; - av_shrink_packet(pkt, nut->header_len[header_idx] + size); } + av_shrink_packet(pkt, nut->header_len[header_idx] + ret); pkt->stream_index = stream_id; if (stc->last_flags & FLAG_KEY)