PR #21721 opened by michaelni
URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/21721
Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/21721.patch

Fixes: infinite loop
Fixes: 
472567148/clusterfuzz-testcase-minimized-ffmpeg_dem_DHAV_fuzzer-4520943574908928

Found-by: continuous fuzzing process 
https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <[email protected]>


>From e11ee75d8e8d5887b5ecb38cf1086650eb0a2a96 Mon Sep 17 00:00:00 2001
From: Michael Niedermayer <[email protected]>
Date: Tue, 10 Feb 2026 17:44:52 +0100
Subject: [PATCH] avformat/dhav: Check avio_seek() return

Fixes: infinite loop
Fixes: 
472567148/clusterfuzz-testcase-minimized-ffmpeg_dem_DHAV_fuzzer-4520943574908928

Found-by: continuous fuzzing process 
https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <[email protected]>
---
 libavformat/dhav.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/libavformat/dhav.c b/libavformat/dhav.c
index 614934dc68..c276de106c 100644
--- a/libavformat/dhav.c
+++ b/libavformat/dhav.c
@@ -321,7 +321,9 @@ static int dhav_read_header(AVFormatContext *s)
                 if (seek_back < 9)
                     break;
                 dhav->last_good_pos = avio_tell(s->pb);
-                avio_seek(s->pb, -seek_back, SEEK_CUR);
+                int64_t ret = avio_seek(s->pb, -seek_back, SEEK_CUR);
+                if (ret < 0)
+                    return ret;
             }
             avio_seek(s->pb, dhav->last_good_pos, SEEK_SET);
         }
-- 
2.52.0

_______________________________________________
ffmpeg-devel mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to