From 8be539b022adcfa73588b2b9110ce94553445943 Mon Sep 17 00:00:00 2001 From: James Almer Date: Mon, 4 Aug 2025 19:54:01 -0300 Subject: [PATCH] avformat/iff: fix EOF check The check to return on EOF should not be inside a block that will not be entered after reaching EOF. Should fix "libavcodec/bytestream.h:144:27: runtime error: applying zero offset to null pointer". Signed-off-by: James Almer --- libavformat/iff.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/libavformat/iff.c b/libavformat/iff.c index 4ff10beb38..44ba5a9023 100644 --- a/libavformat/iff.c +++ b/libavformat/iff.c @@ -969,9 +969,6 @@ static int iff_read_packet(AVFormatContext *s, uint32_t chunk_id, chunk_id2; while (!avio_feof(pb)) { - if (avio_feof(pb)) - return AVERROR_EOF; - orig_pos = avio_tell(pb); chunk_id = avio_rl32(pb); data_size = avio_rb32(pb); @@ -988,6 +985,9 @@ static int iff_read_packet(AVFormatContext *s, avio_skip(pb, data_size); } } + if (pb->eof_reached) + return AVERROR_EOF; + ret = av_get_packet(pb, pkt, data_size); pkt->stream_index = iff->video_stream_index; pkt->pos = orig_pos;