Commit aa5fd7d287 for ffmpeg
commit aa5fd7d287db4f469fdcbe444f7f9f38c8c289c7
Author: Michael Niedermayer <michael@niedermayer.cc>
Date: Thu Oct 29 03:09:49 2026 +0100
avcodec/dpxenc: reject unsupported depths for RGB48 input
Only 10 and 16 bit output exist for RGB48, reject everything else
at init.
Fixes: NULL pointer dereference
Fixes: cPU32SjSff6g
Fixes: AISLE-2026-0150-00374
NULL pointer dereference Replicated through UnModified FFmpeg with ASAN
Found-by: Joshua Rogers (AISLE)
diff --git a/libavcodec/dpxenc.c b/libavcodec/dpxenc.c
index 68e7fece12..68a8e2c11b 100644
--- a/libavcodec/dpxenc.c
+++ b/libavcodec/dpxenc.c
@@ -68,8 +68,12 @@ static av_cold int encode_init(AVCodecContext *avctx)
break;
case AV_PIX_FMT_RGB48LE:
case AV_PIX_FMT_RGB48BE:
- if (avctx->bits_per_raw_sample)
- s->bits_per_component = avctx->bits_per_raw_sample;
+ if (avctx->bits_per_raw_sample == 10) {
+ s->bits_per_component = 10;
+ } else if (avctx->bits_per_raw_sample && avctx->bits_per_raw_sample != 16) {
+ av_log(avctx, AV_LOG_ERROR, "Unsupported bit depth: %d\n", avctx->bits_per_raw_sample);
+ return AVERROR(EINVAL);
+ }
break;
}