diff --git a/libavcodec/videodsp_template.c b/libavcodec/videodsp_template.c index c569c30d60..94c1b7188d 100644 --- a/libavcodec/videodsp_template.c +++ b/libavcodec/videodsp_template.c @@ -32,6 +32,8 @@ void FUNC(ff_emulated_edge_mc)(uint8_t *buf, const uint8_t *src, if (!w || !h) return; + av_assert2(block_w * sizeof(pixel) <= FFABS(buf_linesize)); + if (src_y >= h) { src -= src_y * src_linesize; src += (h - 1) * src_linesize; diff --git a/libavcodec/x86/videodsp_init.c b/libavcodec/x86/videodsp_init.c index 885cdf1d8c..26e072bb12 100644 --- a/libavcodec/x86/videodsp_init.c +++ b/libavcodec/x86/videodsp_init.c @@ -162,6 +162,8 @@ static av_always_inline void emulated_edge_mc(uint8_t *dst, const uint8_t *src, if (!w || !h) return; + av_assert2(block_w <= FFABS(dst_stride)); + if (src_y >= h) { src -= src_y*src_stride; src_y_add = h - 1;