Mesa (10.3): nv50/ir: avoid array overrun when checking for supported mods

Emil Velikov evelikov at kemper.freedesktop.org
Tue Sep 9 21:05:34 UTC 2014


Module: Mesa
Branch: 10.3
Commit: 31adc4068091f71a6cee656224ecab32f0aa1746
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=31adc4068091f71a6cee656224ecab32f0aa1746

Author: Ilia Mirkin <imirkin at alum.mit.edu>
Date:   Sat Sep  6 11:41:36 2014 -0400

nv50/ir: avoid array overrun when checking for supported mods

Reported by Coverity

Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
Cc: "10.2 10.3" <mesa-stable at lists.freedesktop.org>
(cherry picked from commit 874a9396c5adfdcff63139bf6ababb55c1253402)

---

 src/gallium/drivers/nouveau/codegen/nv50_ir_target_nv50.cpp |    2 +-
 src/gallium/drivers/nouveau/codegen/nv50_ir_target_nvc0.cpp |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_target_nv50.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_target_nv50.cpp
index b0d617a..ebcb0ac 100644
--- a/src/gallium/drivers/nouveau/codegen/nv50_ir_target_nv50.cpp
+++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_target_nv50.cpp
@@ -449,7 +449,7 @@ TargetNV50::isModSupported(const Instruction *insn, int s, Modifier mod) const
          return false;
       }
    }
-   if (s > 3)
+   if (s >= 3)
       return false;
    return (mod & Modifier(opInfo[insn->op].srcMods[s])) == mod;
 }
diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_target_nvc0.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_target_nvc0.cpp
index 963b6e4..817ceb8 100644
--- a/src/gallium/drivers/nouveau/codegen/nv50_ir_target_nvc0.cpp
+++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_target_nvc0.cpp
@@ -423,7 +423,7 @@ TargetNVC0::isModSupported(const Instruction *insn, int s, Modifier mod) const
          return false;
       }
    }
-   if (s > 3)
+   if (s >= 3)
       return false;
    return (mod & Modifier(opInfo[insn->op].srcMods[s])) == mod;
 }




More information about the mesa-commit mailing list