etnaviv: Fix memory leak in etna_vertex_elements_state_create.
authorVinson Lee <vlee@freedesktop.org>
Sun, 14 Feb 2021 04:34:39 +0000 (20:34 -0800)
committerVinson Lee <vlee@freedesktop.org>
Wed, 17 Feb 2021 04:53:51 +0000 (20:53 -0800)
Fix defect reported by Coverity Scan.

Resource leak (RESOURCE_LEAK)
leaked_storage: Variable cs going out of scope leaks the storage it points to.

Fixes: c9e8b49b885 ("etnaviv: gallium driver for Vivante GPUs")
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9034>

src/gallium/drivers/etnaviv/etnaviv_state.c

index d87c3c1..44b1c4f 100644 (file)
@@ -521,6 +521,7 @@ etna_vertex_elements_state_create(struct pipe_context *pctx,
    if (num_elements > screen->specs.vertex_max_elements) {
       BUG("number of elements (%u) exceeds chip maximum (%u)", num_elements,
           screen->specs.vertex_max_elements);
+      FREE(cs);
       return NULL;
    }