On Mon, 3 Feb 2025 at 06:24, Kacper Michajłow <kaspe...@gmail.com> wrote: > > This fix ensures that the loop stops early on EOF. The issue occurs > because mov_read_infe() performs a version check and skips unsupported > versions. The problem is that seeking within the stream clears the EOF > flag, causing avio_feof() to not function as expected. This is resolved > by moving the EOF check after reading the size and type after seek, > ensuring the EOF flag is set when necessary. > > Signed-off-by: Kacper Michajłow <kaspe...@gmail.com> > --- > libavformat/mov.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/libavformat/mov.c b/libavformat/mov.c > index 2c8be51063..9a388bf723 100644 > --- a/libavformat/mov.c > +++ b/libavformat/mov.c > @@ -8868,12 +8868,12 @@ static int mov_read_iinf(MOVContext *c, AVIOContext > *pb, MOVAtom atom) > for (i = 0; i < entry_count; i++) { > MOVAtom infe; > > + infe.size = avio_rb32(pb) - 8; > + infe.type = avio_rl32(pb); > if (avio_feof(pb)) { > ret = AVERROR_INVALIDDATA; > goto fail; > } > - infe.size = avio_rb32(pb) - 8; > - infe.type = avio_rl32(pb); > ret = mov_read_infe(c, pb, infe, i); > if (ret < 0) > goto fail; > -- > 2.45.1 >
Sorry, sent the wrong patch, consider v2, with commit title fix. - Kacper _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".