Fix stack overrun in calculating segmentation map coding method.
authorRonald S. Bultje <rbultje@google.com>
Thu, 16 Aug 2012 05:20:24 +0000 (22:20 -0700)
committerRonald S. Bultje <rbultje@google.com>
Thu, 16 Aug 2012 05:31:49 +0000 (22:31 -0700)
This caused spurious crashes on encodes, frustratingly often only on
high-definition material.

Change-Id: Ia8c1dfc420d598ca92108bd9cc2df7450e8d10a2

vp8/encoder/segmentation.c

index 83b27a6..e9d02cd 100644 (file)
@@ -111,7 +111,8 @@ static void calc_segtree_probs(MACROBLOCKD *xd,
   int i;
 
   // Blank the strtucture to start with
-  vpx_memset(segment_tree_probs, 0, sizeof(segment_tree_probs));
+  vpx_memset(segment_tree_probs, 0,
+             MB_FEATURE_TREE_PROBS * sizeof(*segment_tree_probs));
 
   // Total count for all segments
   count1 = segcounts[0] + segcounts[1];