shader: free string buffers for dest registers
This fixes a memory leak.
v2: Use ARRAY_SIZE (Corientin)
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/virgl/virglrenderer/-/merge_requests/813>
diff --git a/src/vrend_shader.c b/src/vrend_shader.c
index e712036..8b85a06 100644
--- a/src/vrend_shader.c
+++ b/src/vrend_shader.c
@@ -7593,6 +7593,9 @@
for (size_t i = 0; i < ARRAY_SIZE(ctx.src_bufs); ++i)
strbuf_free(ctx.src_bufs + i);
+ for (size_t i = 0; i < ARRAY_SIZE(ctx.dst_bufs); ++i)
+ strbuf_free(ctx.dst_bufs + i);
+
if (ctx.prog_type == TGSI_PROCESSOR_FRAGMENT)
qsort(ctx.outputs, ctx.num_outputs, sizeof(struct vrend_shader_io), compare_sid);