You've already forked FFmpeg
mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-08-10 06:10:52 +02:00
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>
This commit is contained in:
committed by
Michael Niedermayer
parent
ae4eea8be4
commit
0382c94f13
@@ -205,7 +205,7 @@ static int check_tag(AVIOContext *s, int offset, unsigned int len)
|
|||||||
|
|
||||||
if (len > 4 ||
|
if (len > 4 ||
|
||||||
avio_seek(s, offset, SEEK_SET) < 0 ||
|
avio_seek(s, offset, SEEK_SET) < 0 ||
|
||||||
avio_read(s, tag, len) < len)
|
avio_read(s, tag, len) < (int)len)
|
||||||
return -1;
|
return -1;
|
||||||
else if (!AV_RB32(tag) || is_tag(tag, len))
|
else if (!AV_RB32(tag) || is_tag(tag, len))
|
||||||
return 1;
|
return 1;
|
||||||
|
Reference in New Issue
Block a user