[FFmpeg-devel] [PATCH] avformat/asfdec_f: Check amount of value read
Kacper Michajlow
kasper93 at gmail.com
Mon Jul 28 02:10:57 EEST 2025
On Sun, 27 Jul 2025 at 22:57, Michael Niedermayer
<michael at niedermayer.cc> wrote:
>
> On Wed, Jul 23, 2025 at 05:51:35PM +0200, Kacper Michajlow wrote:
> > On Wed, 23 Jul 2025 at 10:43, Michael Niedermayer
> > <michael at niedermayer.cc> wrote:
> > >
> > > 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);
> >
> > stray ;
>
> no, try remove it :)
>
> libavformat/asfdec_f.c: In function ‘get_tag’:
> libavformat/asfdec_f.c:244:9: error: a label can only be part of a statement and a declaration is not a statement
> 244 | int ret = ffio_read_size(s->pb, value, len);
> | ^~~
Ah, right. It's the first line after the case statement.
I generally put it immediately after : `case -1:;`. It was looking off
at the beginning of the line, but all good :)
- Kacper
More information about the ffmpeg-devel
mailing list