diff options
author | Vinson Lee <vlee@freedesktop.org> | 2021-02-13 20:34:39 -0800 |
---|---|---|
committer | Dylan Baker <dylan.c.baker@intel.com> | 2021-02-18 14:09:07 -0800 |
commit | c6140fb09df58f0bcd7249397c158c9d8c4e5b9c (patch) | |
tree | b0fbaa25ff23ce6a599316d3bf1a0ce9ceedba56 | |
parent | eeb7cb93d2da1c4a12b335ba2baff2ea9b67843d (diff) | |
download | mesa-c6140fb09df58f0bcd7249397c158c9d8c4e5b9c.tar.gz mesa-c6140fb09df58f0bcd7249397c158c9d8c4e5b9c.tar.bz2 mesa-c6140fb09df58f0bcd7249397c158c9d8c4e5b9c.zip |
etnaviv: Fix memory leak in etna_vertex_elements_state_create.
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>
(cherry picked from commit a7a7d25e5b909711e3649eba2f24cc04dca8ab20)
-rw-r--r-- | .pick_status.json | 2 | ||||
-rw-r--r-- | src/gallium/drivers/etnaviv/etnaviv_state.c | 1 |
2 files changed, 2 insertions, 1 deletions
diff --git a/.pick_status.json b/.pick_status.json index 11052ffa27d..3b97c9b3ef7 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -832,7 +832,7 @@ "description": "etnaviv: Fix memory leak in etna_vertex_elements_state_create.", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "master_sha": null, "because_sha": "c9e8b49b885242d84ba031dacef5aa4a5ac1e5b6" }, diff --git a/src/gallium/drivers/etnaviv/etnaviv_state.c b/src/gallium/drivers/etnaviv/etnaviv_state.c index 730853698af..b38b2e7181d 100644 --- a/src/gallium/drivers/etnaviv/etnaviv_state.c +++ b/src/gallium/drivers/etnaviv/etnaviv_state.c @@ -518,6 +518,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; } |