summaryrefslogtreecommitdiffstats
path: root/hw/qxl.c
diff options
context:
space:
mode:
authorMichael Tokarev <mjt@tls.msk.ru>2012-09-19 17:41:26 +0400
committerGerd Hoffmann <kraxel@redhat.com>2012-10-08 12:15:16 +0200
commit36a03e0ba5202cf49749b2128bb62d41983681d6 (patch)
tree64c2f0c87219265de5a7ec74d868a5b37e92e858 /hw/qxl.c
parent0ec8df3974d2a4ff95b5fd4785b9bd3def7252f3 (diff)
downloadhqemu-36a03e0ba5202cf49749b2128bb62d41983681d6.zip
hqemu-36a03e0ba5202cf49749b2128bb62d41983681d6.tar.gz
qxl/update_area_io: cleanup invalid parameters handling
This cleans up two additions of almost the same code in commits 511b13e2c9 and ccc2960d654. While at it, make error paths consistent (always use 'break' instead of 'return'). Signed-off-by: Michael Tokarev <mjt@tls.msk.ru> Cc: Dunrong Huang <riegamaths@gmail.com> Cc: Alon Levy <alevy@redhat.com> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Diffstat (limited to 'hw/qxl.c')
-rw-r--r--hw/qxl.c13
1 files changed, 3 insertions, 10 deletions
diff --git a/hw/qxl.c b/hw/qxl.c
index 33169f3..3c82c2a 100644
--- a/hw/qxl.c
+++ b/hw/qxl.c
@@ -1547,20 +1547,13 @@ async_common:
if (d->ram->update_surface > d->ssd.num_surfaces) {
qxl_set_guest_bug(d, "QXL_IO_UPDATE_AREA: invalid surface id %d\n",
d->ram->update_surface);
- return;
+ break;
}
- if (update.left >= update.right || update.top >= update.bottom) {
+ if (update.left >= update.right || update.top >= update.bottom ||
+ update.left < 0 || update.top < 0) {
qxl_set_guest_bug(d,
"QXL_IO_UPDATE_AREA: invalid area (%ux%u)x(%ux%u)\n",
update.left, update.top, update.right, update.bottom);
- return;
- }
-
- if (update.left < 0 || update.top < 0 || update.left >= update.right ||
- update.top >= update.bottom) {
- qxl_set_guest_bug(d, "QXL_IO_UPDATE_AREA: "
- "invalid area(%d,%d,%d,%d)\n", update.left,
- update.right, update.top, update.bottom);
break;
}
if (async == QXL_ASYNC) {
OpenPOWER on IntegriCloud