From bc3c6d0a1566541f6b45a6ef76d2b7262483efec Mon Sep 17 00:00:00 2001
From: James Zern <jzern@google.com>
Date: Thu, 2 May 2013 19:11:28 -0700
Subject: [PATCH] vp9/count_segs: fix out of bounds read

don't access mi until mi_{row,col} validation has been done

Change-Id: Ie1be052612cfccb2730dff9281c222bca28bf2c6
---
 vp9/encoder/vp9_segmentation.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/vp9/encoder/vp9_segmentation.c b/vp9/encoder/vp9_segmentation.c
index 86af268bfd..c53fff43bd 100644
--- a/vp9/encoder/vp9_segmentation.c
+++ b/vp9/encoder/vp9_segmentation.c
@@ -123,11 +123,12 @@ static void count_segs(VP9_COMP *cpi,
                        int bw, int bh, int mi_row, int mi_col) {
   VP9_COMMON *const cm = &cpi->common;
   MACROBLOCKD *const xd = &cpi->mb.e_mbd;
-  const int segment_id = mi->mbmi.segment_id;
+  int segment_id;
 
   if (mi_row >= cm->mi_rows || mi_col >= cm->mi_cols)
     return;
 
+  segment_id = mi->mbmi.segment_id;
   xd->mode_info_context = mi;
   set_mi_row_col(cm, xd, mi_row, bh, mi_col, bw);
 
-- 
GitLab