[Mesa-dev] [PATCH 1/1] mesa/st: draw_vbo: initialize restart_index too

Brian Paul brianp at vmware.com
Mon Jul 2 13:30:26 UTC 2018


On 07/01/2018 02:05 AM, Gert Wollny wrote:
> From: Gert Wollny <gert.wollny at collabora.com>
> 
> restart_index is later always used in a comparison, so it should be
> initialized properly.
> 
> Fixes valgrind warning:
>   Conditional jump or move depends on uninitialised value(s)
>      at 0xB8D682F: r600_draw_vbo (r600_state_common.c:2153)
>      by 0xB71F743: u_vbuf_draw_vbo (u_vbuf.c:1156)
>      by 0xB3B92DB: st_draw_vbo (st_draw.c:235)
>      by 0xB36B1AE: vbo_draw_arrays (vbo_exec_array.c:391)
>      by 0xB36BB0D: vbo_exec_DrawArrays (vbo_exec_array.c:550)
>      by 0x10A989: piglit_display (textureSize.c:157)
>      by 0x4F8F174: run_test (piglit_fbo_framework.c:52)
>      by 0x4F7BA12: piglit_gl_test_run (piglit-framework-gl.c:229)
>      by 0x10A60A: main (textureSize.c:71)
>   Uninitialised value was created by a stack allocation
>      at 0xB3B90B0: st_draw_vbo (st_draw.c:143)
> 
> Signed-off-by: Gert Wollny <gert.wollny at collabora.com>
> ---
>   src/mesa/state_tracker/st_draw.c | 1 +
>   1 file changed, 1 insertion(+)
> 
> diff --git a/src/mesa/state_tracker/st_draw.c b/src/mesa/state_tracker/st_draw.c
> index 208ea735a7..dee69783ad 100644
> --- a/src/mesa/state_tracker/st_draw.c
> +++ b/src/mesa/state_tracker/st_draw.c
> @@ -156,6 +156,7 @@ st_draw_vbo(struct gl_context *ctx,
>      info.vertices_per_patch = ctx->TessCtrlProgram.patch_vertices;
>      info.indirect = NULL;
>      info.count_from_stream_output = NULL;
> +   info.restart_index = 0;
>   
>      if (ib) {
>         struct gl_buffer_object *bufobj = ib->obj;
> 

It might be better to simply call util_draw_init_info() first, then drop 
the =0 assignments.  That'd help future-proof the code too.

Otherwise, this is OK.  Reviewed-by: Brian Paul <brianp at vmware.com>

-Brian


More information about the mesa-dev mailing list