Hi Michael,

On Fri, May 30, 2025 at 9:52 PM Michael Niedermayer
<mich...@niedermayer.cc> wrote:
>
> Hi Manual
>
> On Wed, May 14, 2025 at 03:39:53AM +0200, Michael Niedermayer wrote:
> > k is always 4 here and it seems this is not what was intended
> > replacing it with 0 works but it may be wrong
> >
> > This needs review
> >
> > Fixes: out of array read
> > Fixes: 
> > 409593384/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_SANM_fuzzer-6488251907244032
> >
> > Found-by: continuous fuzzing process 
> > https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
> > Signed-off-by: Michael Niedermayer <mich...@niedermayer.cc>
> > ---
> >  libavcodec/sanm.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
>
> please review, this patch is just written based on gut feeling,
> its just clear that the code before was buggy

> >
> > diff --git a/libavcodec/sanm.c b/libavcodec/sanm.c
> > index 00bfef00fe8..ec429e1a002 100644
> > --- a/libavcodec/sanm.c
> > +++ b/libavcodec/sanm.c
> > @@ -734,7 +734,7 @@ static int old_codec4(SANMVideoContext *ctx, 
> > GetByteContext *gb, int top, int le
> >              }
> >
> >              /* smooth top and left block borders with neighbours */
> > -            if (((pxoff - p + k) < 0) || ((pxoff - p + k) >= maxpxo)
> > +            if (((pxoff - p + 0) < 0) || ((pxoff - p + k) >= maxpxo)
> >                  || ((pxoff + 3 * p) < 0) || ((pxoff + 3 * p) >= maxpxo)
> >                  || (i == 0) || (j == 0))
> >                  continue;

Oops, yes, that change is correct.
I think you should just rip the whole block-smoothing block out
entirely: it creates a "sawtooth" pattern
which is more annoying than the "blockiness" it tries to soften.

Thanks!
    Manuel
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to