From 5bb01cb997d18fc9ad89086cb43f185794fcf1eb Mon Sep 17 00:00:00 2001 From: armelvil <103518994+armelvil@users.noreply.github.com> Date: Thu, 20 Aug 2026 14:03:21 -0400 Subject: [PATCH] from_lavc_vid_conv: guard NULL conversion in get_av_to_uv_conversion get_av_to_uv_conversion_int() can return a valid struct with conversion == NULL (direct pixfmt map, decoder, or CUDA early-return paths), but since ecd4c53bf the VERBOSE message unconditionally dereferences ret->conversion->uv_codec, SEGV when -t file: decodes to a directly-mapped format. Regression introduced in ecd4c53bf. --- src/libavcodec/from_lavc_vid_conv.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/libavcodec/from_lavc_vid_conv.c b/src/libavcodec/from_lavc_vid_conv.c index fd7218636..e2b988c59 100644 --- a/src/libavcodec/from_lavc_vid_conv.c +++ b/src/libavcodec/from_lavc_vid_conv.c @@ -2353,7 +2353,8 @@ get_av_to_uv_conversion(int av_codec, codec_t uv_codec) if (ret == NULL) { return NULL; } - if (ret->dst_pixfmt == ret->conversion->uv_codec) { + if (ret->conversion == NULL || + ret->dst_pixfmt == ret->conversion->uv_codec) { MSG(VERBOSE, "converting %s to %s\n", av_get_pix_fmt_name(av_codec), get_codec_name(ret->dst_pixfmt));