[FFmpeg-devel] [PATCH] avcodec/ffv1enc_template: use FF_PTR_ADD to add offsets to a pointer
Kacper Michajlow
kasper93 at gmail.com
Sun Jun 22 17:55:14 EEST 2025
On Sun, 22 Jun 2025 at 16:50, Kacper Michajlow <kasper93 at gmail.com> wrote:
>
> On Sun, 22 Jun 2025 at 15:49, James Almer
> <jamrial-at-gmail.com at ffmpeg.org> wrote:
> >
> > Fixes: libavcodec\ffv1enc_template.c:75:79: runtime error: applying zero offset to null pointer
> > Signed-off-by: James Almer <jamrial at gmail.com>
> > ---
> > Untested, as gcc-usan on Linux x86_64 doesn't complain about it, but it can be seen in
> clang-usan also reproduces this on Linux x86_64.
>
> > https://fate.ffmpeg.org/report.cgi?time=20250622122557&slot=amd64-clang-cl-msvc-asan
> >
> > libavcodec/ffv1enc_template.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/libavcodec/ffv1enc_template.c b/libavcodec/ffv1enc_template.c
> > index aaf82159ee..7edfd2dc0f 100644
> > --- a/libavcodec/ffv1enc_template.c
> > +++ b/libavcodec/ffv1enc_template.c
> > @@ -72,7 +72,7 @@ RENAME(encode_line)(FFV1Context *f, FFV1SliceContext *sc,
> > int diff, context;
> >
> > context = RENAME(get_context)(f->quant_tables[p->quant_table_index],
> > - sample[0] + x, sample[1] + x, sample[2] + x);
> > + sample[0] + x, sample[1] + x, FF_PTR_ADD(sample[2], x));
>
> Doesn't work. FF_PTR_ADD checks offset (x) only, but the issue here is
> that sample[2]==NULL.
To be more precise, the patch fixes, "applying zero offset to null
pointer", but on next iteration it complains about:
ffv1enc_template.c:75:69: runtime error: applying non-zero offset 2 to
null pointer
- Kacper
More information about the ffmpeg-devel
mailing list