summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCorentin Noël <corentin.noel@collabora.com>2023-09-08 09:39:15 +0200
committerCorentin Noël <corentin.noel@collabora.com>2023-09-08 09:45:15 +0200
commitb60badb4fe9edddf2481093284750e5fa49156cf (patch)
tree4e66f399af7fa6a6d10d74df02ad0cfea1a99010
parente34b5669b7d7a87e339cd09eaf5292bef2b78b1a (diff)
renderer: Do not leak the buffer on creation failure
Remove the reference to the buffer before freeing the target. Part-of: <https://gitlab.freedesktop.org/virgl/virglrenderer/-/merge_requests/1223>
-rw-r--r--src/vrend_renderer.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/vrend_renderer.c b/src/vrend_renderer.c
index 614fa35..ac84a12 100644
--- a/src/vrend_renderer.c
+++ b/src/vrend_renderer.c
@@ -11559,6 +11559,7 @@ int vrend_create_so_target(struct vrend_context *ctx,
ret_handle = vrend_renderer_object_insert(ctx, target, handle,
VIRGL_OBJECT_STREAMOUT_TARGET);
if (ret_handle == 0) {
+ vrend_resource_reference(&target->buffer, NULL);
FREE(target);
return ENOMEM;
}