mesa/st: Fix use-after-free of the draw VS.
authorEric Anholt <eric@anholt.net>
Wed, 23 Dec 2020 00:42:49 +0000 (16:42 -0800)
committerMarge Bot <eric+marge@anholt.net>
Wed, 23 Dec 2020 20:12:06 +0000 (20:12 +0000)
If the program with a draw variant gets deleted, it could leave a dangling
pointer in st's draw module that would get referenced next state update of
a draw fallback.

Fixes a valgrind complaint in piglit's rasterpos test, which is flaky on
softpipe (but not due to this).

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8207>

src/mesa/state_tracker/st_draw_feedback.c

index efb51cc..ba51420 100644 (file)
@@ -518,4 +518,6 @@ st_feedback_draw_vbo(struct gl_context *ctx,
       draw_set_mapped_vertex_buffer(draw, buf, NULL, 0);
    }
    draw_set_vertex_buffers(draw, 0, num_vbuffers, NULL);
+
+   draw_bind_vertex_shader(draw, NULL);
 }