summaryrefslogtreecommitdiff
path: root/libavcodec/mjpegdec.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2015-02-04 20:13:18 +0100
committerMichael Niedermayer <michaelni@gmx.at>2015-02-04 20:14:18 +0100
commitafa92907f3c6a0c3bdad766ec8d938ee17ee1c9e (patch)
tree16128a5a9757a4ff6e960632dc16e6b7e19d9789 /libavcodec/mjpegdec.c
parent7f02fcd91774818ad36cafde44aefe8924aa15b7 (diff)
avcodec/mjpegdec: Check escape sequence validity
Fixes assertion failure Fixes: asan_heap-oob_1c1a4ea_1242_cov_2274415971_TESTcmyk.jpg Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/mjpegdec.c')
-rw-r--r--libavcodec/mjpegdec.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/libavcodec/mjpegdec.c b/libavcodec/mjpegdec.c
index 054d936aac..c5769be9a8 100644
--- a/libavcodec/mjpegdec.c
+++ b/libavcodec/mjpegdec.c
@@ -1901,6 +1901,10 @@ int ff_mjpeg_find_marker(MJpegDecodeContext *s,
put_bits(&pb, 8, x);
if (x == 0xFF) {
x = src[b++];
+ if (x & 0x80) {
+ av_log(s->avctx, AV_LOG_WARNING, "Invalid escape sequence\n");
+ x &= 0x7f;
+ }
put_bits(&pb, 7, x);
bit_count--;
}