[Mesa-dev] [PATCH 1/1] mesa/st: draw_vbo: initialize restart_index too
Marek Olšák
maraeo at gmail.com
Tue Jul 3 21:57:14 UTC 2018
On Mon, Jul 2, 2018 at 9:30 AM, Brian Paul <brianp at vmware.com> wrote:
> 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>
The code doesn't util_draw_init_info because this is a hot path.
Marek
More information about the mesa-dev
mailing list