38 lines
1.3 KiB
Diff
38 lines
1.3 KiB
Diff
|
From: Li Qiang <liqiang6-s@360.cn>
|
||
|
Date: Tue, 1 Nov 2016 05:37:57 -0700
|
||
|
Subject: [PATCH] virtio-gpu: fix information leak in capset get dispatch
|
||
|
MIME-Version: 1.0
|
||
|
Content-Type: text/plain; charset=UTF-8
|
||
|
Content-Transfer-Encoding: 8bit
|
||
|
|
||
|
In virgl_cmd_get_capset function, it uses g_malloc to allocate
|
||
|
a response struct to the guest. As the 'resp'struct hasn't been full
|
||
|
initialized it will lead the 'resp->padding' field to the guest.
|
||
|
Use g_malloc0 to avoid this.
|
||
|
|
||
|
Signed-off-by: Li Qiang <liqiang6-s@360.cn>
|
||
|
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
|
||
|
Message-id: 58188cae.4a6ec20a.3d2d1.aff2@mx.google.com
|
||
|
|
||
|
[ kraxel: resolved conflict ]
|
||
|
|
||
|
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
|
||
|
(cherry picked from commit 85d9d044471f93c48c5c396f7e217b4ef12f69f8)
|
||
|
---
|
||
|
hw/display/virtio-gpu-3d.c | 2 +-
|
||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||
|
|
||
|
diff --git a/hw/display/virtio-gpu-3d.c b/hw/display/virtio-gpu-3d.c
|
||
|
index e29f099..cdd03a4 100644
|
||
|
--- a/hw/display/virtio-gpu-3d.c
|
||
|
+++ b/hw/display/virtio-gpu-3d.c
|
||
|
@@ -376,7 +376,7 @@ static void virgl_cmd_get_capset(VirtIOGPU *g,
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
- resp = g_malloc(sizeof(*resp) + max_size);
|
||
|
+ resp = g_malloc0(sizeof(*resp) + max_size);
|
||
|
resp->hdr.type = VIRTIO_GPU_RESP_OK_CAPSET;
|
||
|
virgl_renderer_fill_caps(gc.capset_id,
|
||
|
gc.capset_version,
|