aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/mmvideo.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2013-05-02 22:06:03 +0200
committerMichael Niedermayer <michaelni@gmx.at>2013-05-09 21:44:08 +0200
commit039f6921c276498e71e4a08063dc687c8f32fa48 (patch)
treef661c7ca0144def40622244fb5ab91fab3658f28 /libavcodec/mmvideo.c
parent7fa6db2545643efb4fe2e0bb501fa50af35a6330 (diff)
downloadffmpeg-039f6921c276498e71e4a08063dc687c8f32fa48.tar.gz
mmvideo/mm_decode_intra: check horizontal coordinate too
Signed-off-by: Michael Niedermayer <michaelni@gmx.at> (cherry picked from commit ae2132ac90f02330b0988e6e26ee0d53e41cd196) Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/mmvideo.c')
-rw-r--r--libavcodec/mmvideo.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/libavcodec/mmvideo.c b/libavcodec/mmvideo.c
index 4214eeb964..b74424cc13 100644
--- a/libavcodec/mmvideo.c
+++ b/libavcodec/mmvideo.c
@@ -104,6 +104,9 @@ static int mm_decode_intra(MmContext * s, int half_horiz, int half_vert)
if (half_horiz)
run_length *=2;
+ if (run_length > s->avctx->width - x)
+ return AVERROR_INVALIDDATA;
+
if (color) {
memset(s->frame.data[0] + y*s->frame.linesize[0] + x, color, run_length);
if (half_vert)