From ea3abcd58f83673bf2fe28170339f19ddf683442 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Reimar=20D=C3=B6ffinger?= Date: Sun, 15 Jan 2012 16:58:21 +0100 Subject: [PATCH] Fix ff_get_guid for short reads or errors. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Current code would just return uninitialized data with no way to detect this condition. Instead, fill the whole GUID with 0 in that case. Fixes valgrind uninitialized data errors in fate-seek-lavf_asf. Signed-off-by: Reimar Döffinger --- libavformat/riff.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libavformat/riff.c b/libavformat/riff.c index 0a2bddcca8..0bfee5a983 100644 --- a/libavformat/riff.c +++ b/libavformat/riff.c @@ -675,7 +675,8 @@ void ff_parse_specific_params(AVCodecContext *stream, int *au_rate, int *au_ssiz void ff_get_guid(AVIOContext *s, ff_asf_guid *g) { assert(sizeof(*g) == 16); - avio_read(s, *g, sizeof(*g)); + if (avio_read(s, *g, sizeof(*g)) < (int)sizeof(*g)) + memset(*g, 0, sizeof(*g)); } enum CodecID ff_codec_guid_get_id(const AVCodecGuid *guids, ff_asf_guid guid) -- GitLab