]> granicus.if.org Git - libvpx/commitdiff
Fix overread/write reported by valgrind if (mb_cols) & 3 != 0.
authorRonald S. Bultje <rbultje@google.com>
Sat, 26 Jan 2013 00:03:15 +0000 (16:03 -0800)
committerRonald S. Bultje <rbultje@google.com>
Sat, 26 Jan 2013 01:18:08 +0000 (17:18 -0800)
We'd backup and restore all cols for a 64x64 SB, but the array wouldn't
be big enough to hold all that data.

Change-Id: Ic68ea721bf07e0b2f3937bd16b0b734bcc743ce1

vp9/common/vp9_alloccommon.c

index f2107d7aadaef225347b69ae1a706b13fc4b3c5d..c4eb9fb7cbaba7b96c580ec77be3879dc6ea1dba 100644 (file)
@@ -134,7 +134,8 @@ int vp9_alloc_frame_buffers(VP9_COMMON *oci, int width, int height) {
 
   oci->prev_mi = oci->prev_mip + oci->mode_info_stride + 1;
 
-  oci->above_context = vpx_calloc(sizeof(ENTROPY_CONTEXT_PLANES) * oci->mb_cols, 1);
+  oci->above_context =
+    vpx_calloc(sizeof(ENTROPY_CONTEXT_PLANES) * (3 + oci->mb_cols), 1);
 
   if (!oci->above_context) {
     vp9_de_alloc_frame_buffers(oci);