[FFmpeg-cvslog] avcodec/dovi_rpudec: validate L2.ms_weight
Niklas Haas
git at videolan.org
Tue Jun 18 22:18:46 EEST 2024
ffmpeg | branch: master | Niklas Haas <git at haasn.dev> | Fri Jun 14 13:59:26 2024 +0200| [954f890f9553fa13baf4cbc58e9359492fbe8b81] | committer: Niklas Haas
avcodec/dovi_rpudec: validate L2.ms_weight
This is specified to be in the range -1 to 4095, apparently the only
extension level with such a restriction.
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=954f890f9553fa13baf4cbc58e9359492fbe8b81
---
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)
More information about the ffmpeg-cvslog
mailing list