From a50d36b5fd3914795f470abefcd37699b23bc8d4 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Sun, 2 Feb 2025 22:17:21 +0100 Subject: [PATCH] avcodec/vvc/refs: Check content_ref in set_pict_type() Fixes: 390565846/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_VVC_fuzzer-4990028521996288 Fixes: Null pointer dereference Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer --- libavcodec/vvc/refs.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavcodec/vvc/refs.c b/libavcodec/vvc/refs.c index 486515d06d..1cfca48204 100644 --- a/libavcodec/vvc/refs.c +++ b/libavcodec/vvc/refs.c @@ -186,7 +186,7 @@ static void set_pict_type(AVFrame *frame, const VVCContext *s, const VVCFrameCon const CodedBitstreamFragment *current = &s->current_frame; for (int i = 0; i < current->nb_units && !has_b; i++) { const CodedBitstreamUnit *unit = current->units + i; - if (unit->type <= VVC_RSV_IRAP_11) { + if (unit->content_ref && unit->type <= VVC_RSV_IRAP_11) { const H266RawSliceHeader *rsh = unit->content_ref; has_inter |= !IS_I(rsh); has_b |= IS_B(rsh);