[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:50:21 EEST 2025


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.

- Kacper


More information about the ffmpeg-devel mailing list