[FFmpeg-devel] [PATCH] avformat/asfdec_f: Check amount of value read

Michael Niedermayer michael at niedermayer.cc
Wed Jul 23 11:43:32 EEST 2025


Fixes: use of uninitialized memory
Fixes: 403675492/clusterfuzz-testcase-minimized-ffmpeg_dem_ASF_fuzzer-4754281823797248

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>
---
 libavformat/asfdec_f.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/libavformat/asfdec_f.c b/libavformat/asfdec_f.c
index ea6e8ef4f3a..10f5dea57c3 100644
--- a/libavformat/asfdec_f.c
+++ b/libavformat/asfdec_f.c
@@ -241,7 +241,9 @@ static void get_tag(AVFormatContext *s, const char *key, int type, int len, int
         avio_get_str16le(s->pb, len, value, 2 * len + 1);
         break;
     case -1: // ASCI
-        avio_read(s->pb, value, len);
+       ;int ret = ffio_read_size(s->pb, value, len);
+        if (ret < 0)
+            goto finish;
         value[len]=0;
         break;
     case ASF_BYTE_ARRAY:
-- 
2.49.0



More information about the ffmpeg-devel mailing list