diff options
author | Nicolai Hähnle <[email protected]> | 2017-06-24 10:27:18 +0200 |
---|---|---|
committer | Nicolai Hähnle <[email protected]> | 2017-07-05 12:25:49 +0200 |
commit | 210ebd4b9c1b510ff1b29a81aa7512ea77056966 (patch) | |
tree | 40d2924415506c52dd1b68ab57626a835cc3cd27 /src/compiler/glsl/linker.cpp | |
parent | f4f7096c1d68746a1833ba1b19d8a290a83cbdde (diff) |
glsl: explicitly zero out padding to gl_shader_variable bitfield
Otherwise, the padding bits remain undefined, which leads to valgrind
errors when storing the gl_shader_variable in the disk cache.
v2: use rzalloc instead of an explicit padding member variable
Reviewed-by: Marek Olšák <[email protected]>
Reviewed-by: Timothy Arceri <[email protected]>
Diffstat (limited to 'src/compiler/glsl/linker.cpp')
-rw-r--r-- | src/compiler/glsl/linker.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/compiler/glsl/linker.cpp b/src/compiler/glsl/linker.cpp index 6ddf0cbb0ce..b4784c51199 100644 --- a/src/compiler/glsl/linker.cpp +++ b/src/compiler/glsl/linker.cpp @@ -3732,7 +3732,10 @@ create_shader_variable(struct gl_shader_program *shProg, bool use_implicit_location, int location, const glsl_type *outermost_struct_type) { - gl_shader_variable *out = ralloc(shProg, struct gl_shader_variable); + /* Allocate zero-initialized memory to ensure that bitfield padding + * is zero. + */ + gl_shader_variable *out = rzalloc(shProg, struct gl_shader_variable); if (!out) return NULL; |