summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLi Qiang <liq3ea@163.com>2021-05-15 20:03:57 -0700
committerMichael Roth <michael.roth@amd.com>2021-10-17 20:25:24 -0500
commitc5300b8a94105dee1c44ac49d2bb3b35412b5ae6 (patch)
tree7a07a45154c8a8f1f957ec924e9af17a2d5162be
parent168299eb7ddcee4b337d4e635ef98784ca9a5804 (diff)
downloadqemu-c5300b8a94105dee1c44ac49d2bb3b35412b5ae6.tar.gz
vhost-user-gpu: fix resource leak in 'vg_resource_create_2d' (CVE-2021-3544)
Call 'vugbm_buffer_destroy' in error path to avoid resource leak. Fixes: CVE-2021-3544 Reported-by: Li Qiang <liq3ea@163.com> Reviewed-by: Prasad J Pandit <pjp@fedoraproject.org> Signed-off-by: Li Qiang <liq3ea@163.com> Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com> Message-Id: <20210516030403.107723-3-liq3ea@163.com> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> (cherry picked from commit 86dd8fac2acc366930a5dc08d3fb1b1e816f4e1e) Signed-off-by: Michael Roth <michael.roth@amd.com>
-rw-r--r--contrib/vhost-user-gpu/vhost-user-gpu.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/contrib/vhost-user-gpu/vhost-user-gpu.c b/contrib/vhost-user-gpu/vhost-user-gpu.c
index f73f292c9f..b5e153d0d6 100644
--- a/contrib/vhost-user-gpu/vhost-user-gpu.c
+++ b/contrib/vhost-user-gpu/vhost-user-gpu.c
@@ -349,6 +349,7 @@ vg_resource_create_2d(VuGpu *g,
g_critical("%s: resource creation failed %d %d %d",
__func__, c2d.resource_id, c2d.width, c2d.height);
g_free(res);
+ vugbm_buffer_destroy(&res->buffer);
cmd->error = VIRTIO_GPU_RESP_ERR_OUT_OF_MEMORY;
return;
}