mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2025-12-17 04:20:10 +01:00
ffmdec: fix infinite loop at EOF
If EOF is reached, while skipping bytes, avio_tell(pb) won't change
anymore, resulting in an infinite loop.
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 6fa98822eb)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
committed by
Michael Niedermayer
parent
61d5ec7c32
commit
9a52cbdb00
@@ -345,7 +345,7 @@ static int ffm2_read_header(AVFormatContext *s)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* get until end of block reached */
|
/* get until end of block reached */
|
||||||
while ((avio_tell(pb) % ffm->packet_size) != 0)
|
while ((avio_tell(pb) % ffm->packet_size) != 0 && !pb->eof_reached)
|
||||||
avio_r8(pb);
|
avio_r8(pb);
|
||||||
|
|
||||||
/* init packet demux */
|
/* init packet demux */
|
||||||
@@ -473,7 +473,7 @@ static int ffm_read_header(AVFormatContext *s)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* get until end of block reached */
|
/* get until end of block reached */
|
||||||
while ((avio_tell(pb) % ffm->packet_size) != 0)
|
while ((avio_tell(pb) % ffm->packet_size) != 0 && !pb->eof_reached)
|
||||||
avio_r8(pb);
|
avio_r8(pb);
|
||||||
|
|
||||||
/* init packet demux */
|
/* init packet demux */
|
||||||
|
|||||||
Reference in New Issue
Block a user