From abad374909e6416e941351094f4f1446a71f8d23 Mon Sep 17 00:00:00 2001 From: Luca Barbato Date: Fri, 17 May 2013 13:08:55 +0200 Subject: jpegls: check the scan offset Prevent an out of array bound write. Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org --- libavcodec/jpeglsdec.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'libavcodec/jpeglsdec.c') diff --git a/libavcodec/jpeglsdec.c b/libavcodec/jpeglsdec.c index 3616063bf1..df72ca338f 100644 --- a/libavcodec/jpeglsdec.c +++ b/libavcodec/jpeglsdec.c @@ -306,6 +306,10 @@ int ff_jpegls_decode_picture(MJpegDecodeContext *s, int near, av_dlog(s->avctx, "JPEG params: ILV=%i Pt=%i BPP=%i, scan = %i\n", ilv, point_transform, s->bits, s->cur_scan); if (ilv == 0) { /* separate planes */ + if (s->cur_scan > s->nb_components) { + ret = AVERROR_INVALIDDATA; + goto end; + } off = s->cur_scan - 1; stride = (s->nb_components > 1) ? 3 : 1; width = s->width * stride; -- cgit v1.2.3