aboutsummaryrefslogtreecommitdiffstats
path: root/src/mesa/program/prog_parameter.c
diff options
context:
space:
mode:
authorGregory Hainaut <[email protected]>2017-04-11 22:29:17 +0200
committerTimothy Arceri <[email protected]>2017-04-12 14:30:28 +1000
commit03d1de387ef35c69fb11781b31824f6f2f310006 (patch)
treea9bff96bdbd759f90a3c7f711a357f4b40858589 /src/mesa/program/prog_parameter.c
parent754b961f384d567b148366fc96f29811e09839c5 (diff)
mesa: avoid NULL ptr in prog parameter name
Context: _mesa_add_parameter is sometimes[0] called with a NULL name as a mean of an unnamed parameter. Allowing NULL pointer as a name means that it must be NULL checked each access. So far it isn't always[1] true. Parameter name is only used for debug purpose (printf) and to lookup the index/location of the program by the application. Conclusion, there is no valid reason to use a NULL pointer instead of an empty string. So it was decided to use an empty string which avoid all issues related to NULL pointer [0]: texture gather offsets glsl opcode and st_init_atifs_prog [1]: at least shader cache, st_nir_lookup_parameter_index and some printfs Issue found by piglit 'texturegatheroffsets' tests on Nouveau v4: new patch based on Nicolai/Timothy/ilia discussion Signed-off-by: Gregory Hainaut <[email protected]> Reviewed-by: Timothy Arceri <[email protected]>
Diffstat (limited to 'src/mesa/program/prog_parameter.c')
-rw-r--r--src/mesa/program/prog_parameter.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/mesa/program/prog_parameter.c b/src/mesa/program/prog_parameter.c
index c294b005b85..6689c71f24d 100644
--- a/src/mesa/program/prog_parameter.c
+++ b/src/mesa/program/prog_parameter.c
@@ -258,7 +258,7 @@ _mesa_add_parameter(struct gl_program_parameter_list *paramList,
for (i = 0; i < sz4; i++) {
struct gl_program_parameter *p = paramList->Parameters + oldNum + i;
- p->Name = name ? strdup(name) : NULL;
+ p->Name = strdup(name ? name : "");
p->Type = type;
p->Size = size;
p->DataType = datatype;