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