mirror of https://git.ffmpeg.org/ffmpeg.git
id3v2: check for end of file while unescaping tags
Prevent a serious out of buffer bound write. Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC:libav-stable@libav.org
This commit is contained in:
parent
76d23f4031
commit
af4cc2605c
|
@ -644,9 +644,10 @@ static void id3v2_parse(AVFormatContext *s, int len, uint8_t version,
|
||||||
goto seek;
|
goto seek;
|
||||||
}
|
}
|
||||||
b = buffer;
|
b = buffer;
|
||||||
while (avio_tell(s->pb) < end) {
|
while (avio_tell(s->pb) < end && !s->pb->eof_reached) {
|
||||||
*b++ = avio_r8(s->pb);
|
*b++ = avio_r8(s->pb);
|
||||||
if (*(b - 1) == 0xff && avio_tell(s->pb) < end - 1) {
|
if (*(b - 1) == 0xff && avio_tell(s->pb) < end - 1 &&
|
||||||
|
!s->pb->eof_reached ) {
|
||||||
uint8_t val = avio_r8(s->pb);
|
uint8_t val = avio_r8(s->pb);
|
||||||
*b++ = val ? val : avio_r8(s->pb);
|
*b++ = val ? val : avio_r8(s->pb);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue