From 210ebd4b9c1b510ff1b29a81aa7512ea77056966 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Nicolai=20H=C3=A4hnle?= Date: Sat, 24 Jun 2017 10:27:18 +0200 Subject: [PATCH] glsl: explicitly zero out padding to gl_shader_variable bitfield MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 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 Reviewed-by: Timothy Arceri --- src/compiler/glsl/linker.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) 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; -- 2.30.2