Commit 6a1aa5cb authored by Janne Grunau's avatar Janne Grunau

mjpeg: initialize input padding after unescaped buffer to zero

Fixes valgrind --undef-value-errors=yes warnings caused by valid
overreads in the fate vsynth jpegls, cover-art-ape and cover-art-wv
tests.
parent 18e6f087
...@@ -1387,6 +1387,8 @@ int ff_mjpeg_find_marker(MJpegDecodeContext *s, ...@@ -1387,6 +1387,8 @@ int ff_mjpeg_find_marker(MJpegDecodeContext *s,
} }
*unescaped_buf_ptr = s->buffer; *unescaped_buf_ptr = s->buffer;
*unescaped_buf_size = dst - s->buffer; *unescaped_buf_size = dst - s->buffer;
memset(s->buffer + *unescaped_buf_size, 0,
FF_INPUT_BUFFER_PADDING_SIZE);
av_log(s->avctx, AV_LOG_DEBUG, "escaping removed %td bytes\n", av_log(s->avctx, AV_LOG_DEBUG, "escaping removed %td bytes\n",
(buf_end - *buf_ptr) - (dst - s->buffer)); (buf_end - *buf_ptr) - (dst - s->buffer));
...@@ -1428,6 +1430,8 @@ int ff_mjpeg_find_marker(MJpegDecodeContext *s, ...@@ -1428,6 +1430,8 @@ int ff_mjpeg_find_marker(MJpegDecodeContext *s,
*unescaped_buf_ptr = dst; *unescaped_buf_ptr = dst;
*unescaped_buf_size = (bit_count + 7) >> 3; *unescaped_buf_size = (bit_count + 7) >> 3;
memset(s->buffer + *unescaped_buf_size, 0,
FF_INPUT_BUFFER_PADDING_SIZE);
} else { } else {
*unescaped_buf_ptr = *buf_ptr; *unescaped_buf_ptr = *buf_ptr;
*unescaped_buf_size = buf_end - *buf_ptr; *unescaped_buf_size = buf_end - *buf_ptr;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment