From 3ba58433e17cb6019e512e7fa5cf4e38415217d3 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Sun, 11 Nov 2012 17:20:10 +0100 Subject: diracdec: check wavelet depth, prevent out of array read. Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer --- libavcodec/diracdec.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'libavcodec/diracdec.c') diff --git a/libavcodec/diracdec.c b/libavcodec/diracdec.c index c70a0c7902..6e814913d5 100644 --- a/libavcodec/diracdec.c +++ b/libavcodec/diracdec.c @@ -996,6 +996,10 @@ static int dirac_unpack_idwt_params(DiracContext *s) s->lowdelay.quant[level][3] = svq3_get_ue_golomb(gb); } } else { + if (s->wavelet_depth > 4) { + av_log(s->avctx,AV_LOG_ERROR,"Mandatory custom low delay matrix missing for depth %d\n", s->wavelet_depth); + return AVERROR_INVALIDDATA; + } /* default quantization matrix */ for (level = 0; level < s->wavelet_depth; level++) for (i = 0; i < 4; i++) { -- cgit v1.2.3