[FFmpeg-devel] [PATCH 2/2] avcodec/dovi_rpudec: validate L2.ms_weight
Niklas Haas
ffmpeg at haasn.xyz
Fri Jun 14 15:00:14 EEST 2024
From: Niklas Haas <git at haasn.dev>
This is specified to be in the range -1 to 4095, apparently the only
extension level with such a restriction.
---
libavcodec/dovi_rpudec.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/libavcodec/dovi_rpudec.c b/libavcodec/dovi_rpudec.c
index fc3b0a2b82..306efbb31f 100644
--- a/libavcodec/dovi_rpudec.c
+++ b/libavcodec/dovi_rpudec.c
@@ -143,6 +143,7 @@ static int parse_ext_v1(DOVIContext *s, GetBitContext *gb, AVDOVIDmData *dm)
dm->l2.trim_chroma_weight = get_bits(gb, 12);
dm->l2.trim_saturation_gain = get_bits(gb, 12);
dm->l2.ms_weight = get_sbits(gb, 13);
+ VALIDATE(dm->l2.ms_weight, -1, 4095);
break;
case 4:
dm->l4.anchor_pq = get_bits(gb, 12);
@@ -172,6 +173,9 @@ static int parse_ext_v1(DOVIContext *s, GetBitContext *gb, AVDOVIDmData *dm)
}
return 0;
+
+fail:
+ return AVERROR_INVALIDDATA;
}
static AVCIExy get_cie_xy(GetBitContext *gb)
--
2.45.1
More information about the ffmpeg-devel
mailing list