[FFmpeg-cvslog] jpegls: check the scan offset
Luca Barbato
git at videolan.org
Mon Jun 3 00:22:23 CEST 2013
ffmpeg | branch: release/1.1 | Luca Barbato <lu_zero at gentoo.org> | Fri May 17 13:08:55 2013 +0200| [0af5a774ebc96ae9018926dc8b276c7f39767e3e] | committer: Reinhard Tartler
jpegls: check the scan offset
Prevent an out of array bound write.
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable at libav.org
(cherry picked from commit abad374909e6416e941351094f4f1446a71f8d23)
Signed-off-by: Reinhard Tartler <siretart at tauware.de>
Conflicts:
libavcodec/jpeglsdec.c
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=0af5a774ebc96ae9018926dc8b276c7f39767e3e
---
libavcodec/jpeglsdec.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/libavcodec/jpeglsdec.c b/libavcodec/jpeglsdec.c
index 15bf962..f851ec0 100644
--- a/libavcodec/jpeglsdec.c
+++ b/libavcodec/jpeglsdec.c
@@ -289,6 +289,10 @@ int ff_jpegls_decode_picture(MJpegDecodeContext *s, int near, int point_transfor
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;
More information about the ffmpeg-cvslog
mailing list