Mesa (master): i965/fs: fix uninitialized memory access

Lionel Landwerlin llandwerlin at kemper.freedesktop.org
Fri Feb 17 10:08:51 UTC 2017


Module: Mesa
Branch: master
Commit: a0ac118398c924f2ae75e5649fbaacd95abd231f
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=a0ac118398c924f2ae75e5649fbaacd95abd231f

Author: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
Date:   Thu Feb 16 13:06:07 2017 +0000

i965/fs: fix uninitialized memory access

Found while running shader-db under valgrind.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
Reviewed-by: Jordan Justen <jordan.l.justen at intel.com>
Cc: "13.0 17.0" <mesa-stable at lists.freedesktop.org>

---

 src/mesa/drivers/dri/i965/brw_fs_register_coalesce.cpp | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/src/mesa/drivers/dri/i965/brw_fs_register_coalesce.cpp b/src/mesa/drivers/dri/i965/brw_fs_register_coalesce.cpp
index f56f05b..952276f 100644
--- a/src/mesa/drivers/dri/i965/brw_fs_register_coalesce.cpp
+++ b/src/mesa/drivers/dri/i965/brw_fs_register_coalesce.cpp
@@ -207,9 +207,8 @@ fs_visitor::register_coalesce()
             channels_remaining = -1;
             continue;
          }
-         dst_reg_offset[offset] = inst->dst.offset / REG_SIZE;
-         if (inst->size_written > REG_SIZE)
-            dst_reg_offset[offset + 1] = inst->dst.offset / REG_SIZE + 1;
+         for (unsigned i = 0; i < MAX2(inst->size_written / REG_SIZE, 1); i++)
+            dst_reg_offset[offset + i] = inst->dst.offset / REG_SIZE + i;
          mov[offset] = inst;
          channels_remaining -= regs_written(inst);
       }




More information about the mesa-commit mailing list