Mesa (master): etnaviv: Fix memory leak on error path.
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Sat May 30 01:22:00 UTC 2020
Module: Mesa
Branch: master
Commit: f047d585ee472a314d4ad5da4dffa5e7c2a42eb5
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f047d585ee472a314d4ad5da4dffa5e7c2a42eb5
Author: Vinson Lee <vlee at freedesktop.org>
Date: Tue May 26 15:54:06 2020 -0700
etnaviv: Fix memory leak on error path.
Fix warning reported by Coverity Scan.
Resource leak (RESOURCE_LEAK)
leaked_storage: Variable pq going out of scope leaks the storage it
points to.
Suggested-by: Christian Gmeiner <christian.gmeiner at gmail.com>
Fixes: eed5a009897a ("etnaviv: convert perfmon queries to acc queries")
Signed-off-by: Vinson Lee <vlee at freedesktop.org>
Reviewed-by: Christian Gmeiner <christian.gmeiner at gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5220>
---
src/gallium/drivers/etnaviv/etnaviv_query_acc_perfmon.c | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/src/gallium/drivers/etnaviv/etnaviv_query_acc_perfmon.c b/src/gallium/drivers/etnaviv/etnaviv_query_acc_perfmon.c
index 5a5ffdb5d61..7c49fc88fad 100644
--- a/src/gallium/drivers/etnaviv/etnaviv_query_acc_perfmon.c
+++ b/src/gallium/drivers/etnaviv/etnaviv_query_acc_perfmon.c
@@ -101,12 +101,9 @@ perfmon_supports(unsigned query_type)
static struct etna_acc_query *
perfmon_allocate(struct etna_context *ctx, unsigned query_type)
{
- struct etna_pm_query *pq = CALLOC_STRUCT(etna_pm_query);
+ struct etna_pm_query *pq;
const struct etna_perfmon_config *cfg;
- if (!pq)
- return NULL;
-
cfg = etna_pm_query_config(query_type);
if (!cfg)
return false;
@@ -114,6 +111,10 @@ perfmon_allocate(struct etna_context *ctx, unsigned query_type)
if (!etna_pm_cfg_supported(ctx->screen->perfmon, cfg))
return false;
+ pq = CALLOC_STRUCT(etna_pm_query);
+ if (!pq)
+ return NULL;
+
pm_add_signal(pq, ctx->screen->perfmon, cfg);
return &pq->base;
More information about the mesa-commit
mailing list