Reviewed-by: Lionel Landwerlin <lionel.g.landwer...@intel.com>

On 12/04/17 23:33, Kenneth Graunke wrote:
Starting positions >= 32 are not part of the header, rather than >.

Caught by Coverity, which found that "bits <<= field->start" may shift
by 32, which has undefined behavior.

CID: 1404968
---
  src/intel/common/gen_decoder.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/intel/common/gen_decoder.c b/src/intel/common/gen_decoder.c
index 03c9c7f8d46..e3327d38542 100644
--- a/src/intel/common/gen_decoder.c
+++ b/src/intel/common/gen_decoder.c
@@ -849,7 +849,7 @@ is_header_field(struct gen_group *group, struct gen_field 
*field)
  {
     uint32_t bits;
- if (field->start > 32)
+   if (field->start >= 32)
        return false;
bits = (1U << (field->end - field->start + 1)) - 1;


_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to