diff mbox series

[FFmpeg-devel,1/3] avformat/iamf_parse: clear padding

Message ID 20240814143421.3990034-1-michael@niedermayer.cc
State New
Headers show
Series [FFmpeg-devel,1/3] avformat/iamf_parse: clear padding | expand

Checks

Context Check Description
yinshiyou/make_loongarch64 success Make finished
yinshiyou/make_fate_loongarch64 success Make fate finished

Commit Message

Michael Niedermayer Aug. 14, 2024, 2:34 p.m. UTC
Fixes: use of uninitialized value
Fixes: 70929/clusterfuzz-testcase-minimized-ffmpeg_dem_IAMF_fuzzer-5931276639469568

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

Comments

Michael Niedermayer Aug. 18, 2024, 4:44 p.m. UTC | #1
On Wed, Aug 14, 2024 at 12:07:04PM -0300, James Almer wrote:
> On 8/14/2024 11:34 AM, Michael Niedermayer wrote:
> > Fixes: use of uninitialized value
> > Fixes: 70929/clusterfuzz-testcase-minimized-ffmpeg_dem_IAMF_fuzzer-5931276639469568
> > 
> > Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
> > Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
> > ---
> >   libavformat/iamf_parse.c | 1 +
> >   1 file changed, 1 insertion(+)
> > 
> > diff --git a/libavformat/iamf_parse.c b/libavformat/iamf_parse.c
> > index 296e49157b0..f2b6d4fa518 100644
> > --- a/libavformat/iamf_parse.c
> > +++ b/libavformat/iamf_parse.c
> > @@ -1076,6 +1076,7 @@ int ff_iamfdec_read_descriptors(IAMFContext *c, AVIOContext *pb,
> >           size = avio_read(pb, header, FFMIN(MAX_IAMF_OBU_HEADER_SIZE, max_size));
> >           if (size < 0)
> >               return size;
> > +        memset(header + size, 0, AV_INPUT_BUFFER_PADDING_SIZE);
> >           len = ff_iamf_parse_obu_header(header, size, &obu_size, &start_pos, &type, NULL, NULL);
> >           if (len < 0 || obu_size > max_size) {
> 
> I assume get_bits() reads into the padding?

from memory, yes


> 
> Should be ok.

will apply

thx

[...]
diff mbox series

Patch

diff --git a/libavformat/iamf_parse.c b/libavformat/iamf_parse.c
index 296e49157b0..f2b6d4fa518 100644
--- a/libavformat/iamf_parse.c
+++ b/libavformat/iamf_parse.c
@@ -1076,6 +1076,7 @@  int ff_iamfdec_read_descriptors(IAMFContext *c, AVIOContext *pb,
         size = avio_read(pb, header, FFMIN(MAX_IAMF_OBU_HEADER_SIZE, max_size));
         if (size < 0)
             return size;
+        memset(header + size, 0, AV_INPUT_BUFFER_PADDING_SIZE);
 
         len = ff_iamf_parse_obu_header(header, size, &obu_size, &start_pos, &type, NULL, NULL);
         if (len < 0 || obu_size > max_size) {