summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPierre Moreau <pierre.morrow@free.fr>2017-02-18 18:51:50 +0100
committerSamuel Pitoiset <samuel.pitoiset@gmail.com>2017-03-09 12:42:46 +0100
commit655c395f65b79bc05259d3ee4887f147d94b243c (patch)
tree209e1c2d08d4e4f91f1631ec81cd43e52eaab03b
parentd54b4986946c306e7efb91cdc54227dfe3c90895 (diff)
nv50/ir: check for origin insn in findOriginForTestWithZero
Function arguments do not have an "origin" instruction, causing a NULL-pointer dereference without this check. Signed-off-by: Pierre Moreau <pierre.morrow@free.fr> Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
-rw-r--r--src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp
index 79403c93dfd..d358abc5bd7 100644
--- a/src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp
+++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp
@@ -410,6 +410,8 @@ ConstantFolding::findOriginForTestWithZero(Value *value)
if (!value)
return NULL;
Instruction *insn = value->getInsn();
+ if (!insn)
+ return NULL;
if (insn->asCmp() && insn->op != OP_SLCT)
return insn->asCmp();