|
|
5544c1 |
From 2bbe4bb8c12976312c9421489f7568a70e5ffae3 Mon Sep 17 00:00:00 2001
|
|
Hans de Goede |
5ba1a7 |
From: Michael Tokarev <mjt@tls.msk.ru>
|
|
Hans de Goede |
5ba1a7 |
Date: Wed, 19 Sep 2012 17:41:26 +0400
|
|
|
5544c1 |
Subject: [PATCH] qxl/update_area_io: cleanup invalid parameters handling
|
|
Hans de Goede |
5ba1a7 |
|
|
Hans de Goede |
5ba1a7 |
This cleans up two additions of almost the same code in commits
|
|
Hans de Goede |
5ba1a7 |
511b13e2c9 and ccc2960d654. While at it, make error paths
|
|
Hans de Goede |
5ba1a7 |
consistent (always use 'break' instead of 'return').
|
|
Hans de Goede |
5ba1a7 |
|
|
Hans de Goede |
5ba1a7 |
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
|
|
Hans de Goede |
5ba1a7 |
Cc: Dunrong Huang <riegamaths@gmail.com>
|
|
Hans de Goede |
5ba1a7 |
Cc: Alon Levy <alevy@redhat.com>
|
|
Hans de Goede |
5ba1a7 |
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
|
|
Hans de Goede |
5ba1a7 |
---
|
|
Hans de Goede |
5ba1a7 |
hw/qxl.c | 13 +++----------
|
|
Hans de Goede |
5ba1a7 |
1 file changed, 3 insertions(+), 10 deletions(-)
|
|
Hans de Goede |
5ba1a7 |
|
|
Hans de Goede |
5ba1a7 |
diff --git a/hw/qxl.c b/hw/qxl.c
|
|
|
5544c1 |
index 0695872..720363f 100644
|
|
Hans de Goede |
5ba1a7 |
--- a/hw/qxl.c
|
|
Hans de Goede |
5ba1a7 |
+++ b/hw/qxl.c
|
|
|
5544c1 |
@@ -1547,20 +1547,13 @@ async_common:
|
|
Hans de Goede |
5ba1a7 |
if (d->ram->update_surface > d->ssd.num_surfaces) {
|
|
Hans de Goede |
5ba1a7 |
qxl_set_guest_bug(d, "QXL_IO_UPDATE_AREA: invalid surface id %d\n",
|
|
Hans de Goede |
5ba1a7 |
d->ram->update_surface);
|
|
Hans de Goede |
5ba1a7 |
- return;
|
|
Hans de Goede |
5ba1a7 |
+ break;
|
|
Hans de Goede |
5ba1a7 |
}
|
|
Hans de Goede |
5ba1a7 |
- if (update.left >= update.right || update.top >= update.bottom) {
|
|
Hans de Goede |
5ba1a7 |
+ if (update.left >= update.right || update.top >= update.bottom ||
|
|
Hans de Goede |
5ba1a7 |
+ update.left < 0 || update.top < 0) {
|
|
Hans de Goede |
5ba1a7 |
qxl_set_guest_bug(d,
|
|
Hans de Goede |
5ba1a7 |
"QXL_IO_UPDATE_AREA: invalid area (%ux%u)x(%ux%u)\n",
|
|
Hans de Goede |
5ba1a7 |
update.left, update.top, update.right, update.bottom);
|
|
Hans de Goede |
5ba1a7 |
- return;
|
|
Hans de Goede |
5ba1a7 |
- }
|
|
Hans de Goede |
5ba1a7 |
-
|
|
Hans de Goede |
5ba1a7 |
- if (update.left < 0 || update.top < 0 || update.left >= update.right ||
|
|
Hans de Goede |
5ba1a7 |
- update.top >= update.bottom) {
|
|
Hans de Goede |
5ba1a7 |
- qxl_set_guest_bug(d, "QXL_IO_UPDATE_AREA: "
|
|
Hans de Goede |
5ba1a7 |
- "invalid area(%d,%d,%d,%d)\n", update.left,
|
|
Hans de Goede |
5ba1a7 |
- update.right, update.top, update.bottom);
|
|
Hans de Goede |
5ba1a7 |
break;
|
|
Hans de Goede |
5ba1a7 |
}
|
|
Hans de Goede |
5ba1a7 |
if (async == QXL_ASYNC) {
|
|
Hans de Goede |
5ba1a7 |
--
|
|
|
5544c1 |
1.7.12.1
|
|
Hans de Goede |
5ba1a7 |
|