[FFmpeg-cvslog] vp8: fix memset() crossing array boundary

Mans Rullgard git at videolan.org
Sun Oct 28 14:29:11 CET 2012


ffmpeg | branch: master | Mans Rullgard <mans at mansr.com> | Fri Oct 26 21:43:55 2012 +0100| [4471a2420717d8dc10b573cca50292d0d598d925] | committer: Mans Rullgard

vp8: fix memset() crossing array boundary

Indexing across array boundaries is not allowed by C99.

Signed-off-by: Mans Rullgard <mans at mansr.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=4471a2420717d8dc10b573cca50292d0d598d925
---

 libavcodec/vp8.c |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/libavcodec/vp8.c b/libavcodec/vp8.c
index 2766c9e..d9902c4 100644
--- a/libavcodec/vp8.c
+++ b/libavcodec/vp8.c
@@ -1964,7 +1964,8 @@ static int vp8_decode_frame(AVCodecContext *avctx, void *data, int *data_size,
     // top edge of 127 for intra prediction
     if (!(avctx->flags & CODEC_FLAG_EMU_EDGE)) {
         s->top_border[0][15] = s->top_border[0][23] = 127;
-        memset(s->top_border[1]-1, 127, s->mb_width*sizeof(*s->top_border)+1);
+        s->top_border[0][31] = 127;
+        memset(s->top_border[1], 127, s->mb_width*sizeof(*s->top_border));
     }
     memset(s->ref_count, 0, sizeof(s->ref_count));
 



More information about the ffmpeg-cvslog mailing list