[FFmpeg-devel] [PATCH] Fix ff_get_guid for short reads or errors.
Reimar Döffinger
Reimar.Doeffinger at gmx.de
Sun Jan 15 17:00:29 CET 2012
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 <Reimar.Doeffinger at gmx.de>
---
libavformat/riff.c | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/libavformat/riff.c b/libavformat/riff.c
index 0a2bddc..21ccd8d 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)) < sizeof(*g))
+ memset(*g, 0, sizeof(*g));
}
enum CodecID ff_codec_guid_get_id(const AVCodecGuid *guids, ff_asf_guid guid)
--
1.7.8.3
More information about the ffmpeg-devel
mailing list