Ensure that we don't read from invalid memory with B-frame qpel
authorDavid Conrad <lessen42@gmail.com>
Fri, 15 May 2009 07:49:59 +0000 (07:49 +0000)
committerDavid Conrad <lessen42@gmail.com>
Fri, 15 May 2009 07:49:59 +0000 (07:49 +0000)
Originally committed as revision 18839 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/vc1.c

index 3a5b447..82bf8db 100644 (file)
@@ -1818,8 +1818,8 @@ static void vc1_interp_mc(VC1Context *v)
     }
 
     if(v->rangeredfrm
-       || (unsigned)src_x > s->h_edge_pos - (mx&3) - 16
-       || (unsigned)src_y > s->v_edge_pos - (my&3) - 16){
+       || (unsigned)src_x > s->h_edge_pos - (mx&3) - 16 - s->mspel*3
+       || (unsigned)src_y > s->v_edge_pos - (my&3) - 16 - s->mspel*3){
         uint8_t *uvbuf= s->edge_emu_buffer + 19 * s->linesize;
 
         srcY -= s->mspel * (1 + s->linesize);