blob: c49a5e9a2aabc46cdf157a3f26181e4d98d46943 [file] [log] [blame]
Brad Bishop96ff1982019-08-19 13:50:42 -04001From d52680fc932efb8a2f334cc6993e705ed1e31e99 Mon Sep 17 00:00:00 2001
2From: Prasad J Pandit <pjp@fedoraproject.org>
3Date: Thu, 25 Apr 2019 12:05:34 +0530
4Subject: [PATCH] qxl: check release info object
5
6When releasing spice resources in release_resource() routine,
7if release info object 'ext.info' is null, it leads to null
8pointer dereference. Add check to avoid it.
9
10Reported-by: Bugs SysSec <bugs-syssec@rub.de>
11Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
12Message-id: 20190425063534.32747-1-ppandit@redhat.com
13Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
14
15Upstream-Status: Backport
16CVE: CVE-2019-12155
17Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
18---
19 hw/display/qxl.c | 3 +++
20 1 file changed, 3 insertions(+)
21
22diff --git a/hw/display/qxl.c b/hw/display/qxl.c
23index c8ce5781e03..632923add23 100644
24--- a/hw/display/qxl.c
25+++ b/hw/display/qxl.c
26@@ -777,6 +777,9 @@ static void interface_release_resource(QXLInstance *sin,
27 QXLReleaseRing *ring;
28 uint64_t *item, id;
29
30+ if (!ext.info) {
31+ return;
32+ }
33 if (ext.group_id == MEMSLOT_GROUP_HOST) {
34 /* host group -> vga mode update request */
35 QXLCommandExt *cmdext = (void *)(intptr_t)(ext.info->id);