aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndreas Cadhalpun <andreas.cadhalpun@googlemail.com>2015-05-11 20:07:49 +0200
committerAndreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>2015-05-14 19:13:49 +0200
commit66b95ee4df804cb18dd39def251cc967f1abf808 (patch)
treed03767ec9effcc3d66ea0ad8d5234cfe42ffda4f
parent0f7e67be3a56e20abcabf9e6698935e6188e7282 (diff)
downloadffmpeg-66b95ee4df804cb18dd39def251cc967f1abf808.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: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
-rw-r--r--libavformat/id3v2.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/libavformat/id3v2.c b/libavformat/id3v2.c
index a8273e282c..2918ef681f 100644
--- a/libavformat/id3v2.c
+++ b/libavformat/id3v2.c
@@ -205,7 +205,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;