summaryrefslogtreecommitdiff
path: root/hw/display
diff options
context:
space:
mode:
authorLi Qiang <liqiang6-s@360.cn>2017-01-21 23:42:33 -0800
committerGerd Hoffmann <kraxel@redhat.com>2017-02-10 16:49:45 +0100
commitdd248ed7e204ee8a1873914e02b8b526e8f1b80d (patch)
tree97d08962a5fbbcd8391b3208543d134527b8d4b0 /hw/display
parent33d076ebd05491d9f7cace682b4ed70c33263f12 (diff)
downloadqemu-dd248ed7e204ee8a1873914e02b8b526e8f1b80d.tar.gz
virtio-gpu: fix memory leak in set scanout
In virtio_gpu_set_scanout function, when creating the 'rect' its refcount is set to 2, by pixman_image_create_bits and qemu_create_displaysurface_pixman function. This can lead a memory leak issues. This patch avoid this issue. Signed-off-by: Li Qiang <liqiang6-s@360.cn> Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com> Message-id: 5884626f.5b2f6b0a.1bfff.3037@mx.google.com Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Diffstat (limited to 'hw/display')
-rw-r--r--hw/display/virtio-gpu.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/hw/display/virtio-gpu.c b/hw/display/virtio-gpu.c
index 444ca064c1..9b530ab5b0 100644
--- a/hw/display/virtio-gpu.c
+++ b/hw/display/virtio-gpu.c
@@ -608,6 +608,7 @@ static void virtio_gpu_set_scanout(VirtIOGPU *g,
cmd->error = VIRTIO_GPU_RESP_ERR_UNSPEC;
return;
}
+ pixman_image_unref(rect);
dpy_gfx_replace_surface(g->scanout[ss.scanout_id].con, scanout->ds);
}