[FFmpeg-cvslog] avcodec/mjpegdec: Check for end for both bytes in unescaping
Michael Niedermayer
git at videolan.org
Thu Jan 28 16:11:47 CET 2016
ffmpeg | branch: release/2.8 | Michael Niedermayer <michael at niedermayer.cc> | Thu Jan 21 21:01:47 2016 +0100| [98199983420ba004a2b4e6fcdbcf3f15b9aa9a0c] | committer: Michael Niedermayer
avcodec/mjpegdec: Check for end for both bytes in unescaping
Fixes assertion failure
Fixes: c40c779601b77dc6e19aaea0b04b9751/signal_sigabrt_7ffff6ae7cb7_5769_b94f6ec70caecb2d3d76b4771b109ac1.avi
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>
(cherry picked from commit 509c9e74e548139285f30ed8dcc9baf1d64359fa)
Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=98199983420ba004a2b4e6fcdbcf3f15b9aa9a0c
---
libavcodec/mjpegdec.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libavcodec/mjpegdec.c b/libavcodec/mjpegdec.c
index ba77994..b191203 100644
--- a/libavcodec/mjpegdec.c
+++ b/libavcodec/mjpegdec.c
@@ -1968,7 +1968,7 @@ int ff_mjpeg_find_marker(MJpegDecodeContext *s,
while (b < t) {
uint8_t x = src[b++];
put_bits(&pb, 8, x);
- if (x == 0xFF) {
+ if (x == 0xFF && b < t) {
x = src[b++];
if (x & 0x80) {
av_log(s->avctx, AV_LOG_WARNING, "Invalid escape sequence\n");
More information about the ffmpeg-cvslog
mailing list