Mesa (master): nir: don't segfault when printing variables with no name

Connor Abbott cwabbott0 at kemper.freedesktop.org
Thu Jul 13 21:44:00 UTC 2017


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

Author: Connor Abbott <cwabbott0 at gmail.com>
Date:   Mon Jun 26 17:07:21 2017 -0700

nir: don't segfault when printing variables with no name

While normally we give variables whose name field is NULL a temporary
name when called from nir_print_shader(), when we were calling from
nir_print_instr() we never bothered, meaning that we just segfaulted
when trying to print out instructions with such a variable. Since
nir_print_instr() is meant to be called while debugging, we don't need
to bother too much about giving a consistent name, but we don't want to
crash in the middle of debugging.

Reviewed-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>

---

 src/compiler/nir/nir_print.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/compiler/nir/nir_print.c b/src/compiler/nir/nir_print.c
index 66c0669b59..f4811fe8bc 100644
--- a/src/compiler/nir/nir_print.c
+++ b/src/compiler/nir/nir_print.c
@@ -257,7 +257,7 @@ static const char *
 get_var_name(nir_variable *var, print_state *state)
 {
    if (state->ht == NULL)
-      return var->name;
+      return var->name ? var->name : "unnamed";
 
    assert(state->syms);
 




More information about the mesa-commit mailing list