summaryrefslogtreecommitdiff
path: root/hw/display
diff options
context:
space:
mode:
authorLi Qiang <liq3ea@gmail.com>2016-12-29 04:28:41 -0500
committerGerd Hoffmann <kraxel@redhat.com>2017-01-03 15:47:21 +0100
commit204f01b30975923c64006f8067f0937b91eea68b (patch)
treee1161dddcc370f5045b9d7e3e32890653466a79d /hw/display
parent33243031dad02d161225ba99d782616da133f689 (diff)
downloadqemu-204f01b30975923c64006f8067f0937b91eea68b.tar.gz
virtio-gpu: fix memory leak in resource attach backing
In the resource attach backing function, everytime it will allocate 'res->iov' thus can leading a memory leak. This patch avoid this. Signed-off-by: Li Qiang <liq3ea@gmail.com> Message-id: 1483003721-65360-1-git-send-email-liq3ea@gmail.com Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Diffstat (limited to 'hw/display')
-rw-r--r--hw/display/virtio-gpu.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/hw/display/virtio-gpu.c b/hw/display/virtio-gpu.c
index 6a26258cac..ca88cf478d 100644
--- a/hw/display/virtio-gpu.c
+++ b/hw/display/virtio-gpu.c
@@ -714,6 +714,11 @@ virtio_gpu_resource_attach_backing(VirtIOGPU *g,
return;
}
+ if (res->iov) {
+ cmd->error = VIRTIO_GPU_RESP_ERR_UNSPEC;
+ return;
+ }
+
ret = virtio_gpu_create_mapping_iov(&ab, cmd, &res->addrs, &res->iov);
if (ret != 0) {
cmd->error = VIRTIO_GPU_RESP_ERR_UNSPEC;