blob: d90bafac91b099fbc52811dbef0cbe6165dba51c [file] [log] [blame]
Patrick Williamsb48b7b42016-08-17 15:04:38 -05001From 1f41cffe1e3e79620f587545bdfcbd7e6e68ed29 Mon Sep 17 00:00:00 2001
2From: Michael Niedermayer <michaelni@gmx.at>
3Date: Sun, 11 Nov 2012 00:01:24 +0100
4Subject: [PATCH] mjpegdec: check SE.
5
6Upstream-Status: Backport
7
8Commit 1f41cffe1e3e79620f587545bdfcbd7e6e68ed29 release/1.1
9
10Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
11Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12---
13 libavcodec/mjpegdec.c | 5 +++++
14 1 file changed, 5 insertions(+)
15
16diff --git a/libavcodec/mjpegdec.c b/libavcodec/mjpegdec.c
17index 6b5266d..0a71a6f 100644
18--- a/gst-libs/ext/libav/libavcodec/mjpegdec.c
19+++ b/gst-libs/ext/libav/libavcodec/mjpegdec.c
20@@ -905,6 +905,11 @@ static int mjpeg_decode_scan_progressive
21 int16_t *quant_matrix = s->quant_matrixes[ s->quant_index[c] ];
22 GetBitContext mb_bitmask_gb;
23
24+ if (se > 63) {
25+ av_log(s->avctx, AV_LOG_ERROR, "SE %d is too large\n", se);
26+ return AVERROR_INVALIDDATA;
27+ }
28+
29 if (mb_bitmask) {
30 init_get_bits(&mb_bitmask_gb, mb_bitmask, s->mb_width*s->mb_height);
31 }
32--