nir/validate: assume() that hashtable entry exists
authorRob Clark <robclark@freedesktop.org>
Wed, 18 May 2016 15:43:15 +0000 (11:43 -0400)
committerRob Clark <robclark@freedesktop.org>
Fri, 20 May 2016 15:13:50 +0000 (11:13 -0400)
At this point, it would require a logic error in nir_validate to not
have already populated this hashtable entry, but coverity doesn't
realize that:

CID 1265547 (#1 of 1): Dereference null return value (NULL_RETURNS)3.
dereference: Dereferencing a null pointer entry.

CID 1271039 (#1 of 1): Dereference null return value (NULL_RETURNS)3.
dereference: Dereferencing a null pointer entry.

Signed-off-by: Rob Clark <robclark@freedesktop.org>
Reviewed-by: Matt Turner <mattst88@gmail.com>
src/compiler/nir/nir_validate.c

index b186fd5bf5105f2f4a56e1f7ac993d1373bf10d3..8ac55d5e5bcc3bdc6134340eee9f6caffe390127 100644 (file)
@@ -879,6 +879,7 @@ postvalidate_reg_decl(nir_register *reg, validate_state *state)
 {
    struct hash_entry *entry = _mesa_hash_table_search(state->regs, reg);
 
+   assume(entry);
    reg_validate_state *reg_state = (reg_validate_state *) entry->data;
 
    nir_foreach_use(src, reg) {
@@ -955,6 +956,8 @@ postvalidate_ssa_def(nir_ssa_def *def, void *void_state)
    validate_state *state = void_state;
 
    struct hash_entry *entry = _mesa_hash_table_search(state->ssa_defs, def);
+
+   assume(entry);
    ssa_def_validate_state *def_state = (ssa_def_validate_state *)entry->data;
 
    nir_foreach_use(src, def) {