From 3334bdc6e70dfdbf753fa81da0d8321a1c5c7eeb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kacper=20Michaj=C5=82ow?= Date: Mon, 7 Jul 2025 21:25:30 +0200 Subject: [PATCH] avformat/scd: ensure SCD_MIN_HEADER_SIZE bytes are read MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Instead of accessing unintialized data when input is shorter than expected size. Fixes use of uninitialized value in MSAN build. Found by OSS-Fuzz. Signed-off-by: Kacper Michajłow Signed-off-by: Michael Niedermayer --- libavformat/scd.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libavformat/scd.c b/libavformat/scd.c index ee118c1668..e57733a8d8 100644 --- a/libavformat/scd.c +++ b/libavformat/scd.c @@ -30,6 +30,7 @@ #include "libavutil/mem.h" #include "libavformat/internal.h" #include "avformat.h" +#include "avio_internal.h" #include "demux.h" #define SCD_MAGIC ((uint64_t)MKBETAG('S', 'E', 'D', 'B') << 32 | \ @@ -243,7 +244,7 @@ static int scd_read_header(AVFormatContext *s) SCDDemuxContext *ctx = s->priv_data; uint8_t buf[SCD_MIN_HEADER_SIZE]; - if ((ret = avio_read(s->pb, buf, SCD_MIN_HEADER_SIZE)) < 0) + if ((ret = ffio_read_size(s->pb, buf, SCD_MIN_HEADER_SIZE)) < 0) return ret; ctx->hdr.magic = AV_RB64(buf + 0);