diff options
author | Andreas Cadhalpun <andreas.cadhalpun@googlemail.com> | 2015-05-11 20:07:49 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2015-05-21 20:43:38 +0200 |
commit | 596b9d6ed88fc9a04f4e016380eb209f3f7ecd72 (patch) | |
tree | a947619308022f0ca9629ddbb8a926c51dbbf018 /libavformat | |
parent | 699357dd4ea492a83d84baac287cfd363974f8b2 (diff) | |
download | ffmpeg-596b9d6ed88fc9a04f4e016380eb209f3f7ecd72.tar.gz |
id3v2: catch avio_read errors in check_tag
Since len is an unsigned int, the comparison is currently treated as
unsigned and thus ignores all errors from avio_read.
Thus cast len to int, which is unproblematic, because at that point len
is between 0 and 4.
This fixes 'Conditional jump or move depends on uninitialised value'
valgrind warnings in is_tag.
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 0382c94f13b4b20456b7259e90b170dc020419b8)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavformat')
-rw-r--r-- | libavformat/id3v2.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/libavformat/id3v2.c b/libavformat/id3v2.c index cbf43757fe..42c72477aa 100644 --- a/libavformat/id3v2.c +++ b/libavformat/id3v2.c @@ -204,7 +204,7 @@ static int check_tag(AVIOContext *s, int offset, unsigned int len) if (len > 4 || avio_seek(s, offset, SEEK_SET) < 0 || - avio_read(s, tag, len) < len) + avio_read(s, tag, len) < (int)len) return -1; else if (!AV_RB32(tag) || is_tag(tag, len)) return 1; |