diff options
author | Alon Levy <alevy@redhat.com> | 2012-07-29 10:27:11 +0200 |
---|---|---|
committer | Alon Levy <alevy@redhat.com> | 2012-08-27 16:17:17 +0300 |
commit | e7aee13e571662f9af87ef90533aa77c754d7747 (patch) | |
tree | 764d1eb404e9de11d2c1e9255b84c86aea8b770d /server | |
parent | fd39b2c24653521ca3d6fdf8691cb265b72ef9a0 (diff) | |
download | spice-e7aee13e571662f9af87ef90533aa77c754d7747.tar.gz spice-e7aee13e571662f9af87ef90533aa77c754d7747.tar.xz spice-e7aee13e571662f9af87ef90533aa77c754d7747.zip |
server/red_worker: handle_dev_update_area: fail if invalid area
Diffstat (limited to 'server')
-rw-r--r-- | server/red_worker.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/server/red_worker.c b/server/red_worker.c index 28fed603..2fa0e3ae 100644 --- a/server/red_worker.c +++ b/server/red_worker.c @@ -4592,6 +4592,12 @@ static void red_update_area(RedWorker *worker, const SpiceRect *area, int surfac #endif spice_debug("surface %d: area ==>", surface_id); rect_debug(area); + + spice_return_if_fail(surface_id >= 0 && surface_id < NUM_SURFACES); + spice_return_if_fail(area); + spice_return_if_fail(area->left >= 0 && area->top >= 0 && + area->left < area->right && area->top < area->bottom); + surface = &worker->surfaces[surface_id]; last = NULL; |