Mesa (main): virgl: Allocate qdws after virgl_init_context to avoid leak.
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Thu Nov 11 02:15:42 UTC 2021
Module: Mesa
Branch: main
Commit: 4a38ed822ab0c3d0f663dd5bec238a0839d03b01
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=4a38ed822ab0c3d0f663dd5bec238a0839d03b01
Author: Vinson Lee <vlee at freedesktop.org>
Date: Sat Oct 30 15:12:00 2021 -0700
virgl: Allocate qdws after virgl_init_context to avoid leak.
Fix defect reported by Coverity Scan.
Resource leak (RESOURCE_LEAK)
leaked_storage: Variable qdws going out of scope leaks the storage it
points to.
Fixes: 9a7d6a110e2 ("virgl/drm: explicit context initialization")
Suggested-by: Gert Wollny <gert.wollny at collabora.com>
Signed-off-by: Vinson Lee <vlee at freedesktop.org>
Reviewed-by: Gert Wollny <gert.wollny at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13609>
---
src/gallium/winsys/virgl/drm/virgl_drm_winsys.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/gallium/winsys/virgl/drm/virgl_drm_winsys.c b/src/gallium/winsys/virgl/drm/virgl_drm_winsys.c
index 6d995f2a7b4..6bb14d7271d 100644
--- a/src/gallium/winsys/virgl/drm/virgl_drm_winsys.c
+++ b/src/gallium/winsys/virgl/drm/virgl_drm_winsys.c
@@ -1220,16 +1220,16 @@ virgl_drm_winsys_create(int drmFD)
if (drm_version < 0)
return NULL;
- qdws = CALLOC_STRUCT(virgl_drm_winsys);
- if (!qdws)
- return NULL;
-
if (params[param_context_init].value) {
ret = virgl_init_context(drmFD);
if (ret)
return NULL;
}
+ qdws = CALLOC_STRUCT(virgl_drm_winsys);
+ if (!qdws)
+ return NULL;
+
qdws->fd = drmFD;
virgl_resource_cache_init(&qdws->cache, CACHE_TIMEOUT_USEC,
virgl_drm_resource_cache_entry_is_busy,
More information about the mesa-commit
mailing list