From cf2d385c43b4387bec5a546c9b85ac654273cfa3 Mon Sep 17 00:00:00 2001 From: ths Date: Sun, 29 Apr 2007 01:53:20 +0000 Subject: Crop VNC update requests to avoid segfaults, by Thomas Tuttle. git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2741 c046a42c-6fe2-441c-8c8c-71466251a162 --- vnc.c | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'vnc.c') diff --git a/vnc.c b/vnc.c index aba60d4..70d30d9 100644 --- a/vnc.c +++ b/vnc.c @@ -852,6 +852,15 @@ static void framebuffer_update_request(VncState *vs, int incremental, int x_position, int y_position, int w, int h) { + if (x_position > vs->ds->width) + x_position = vs->ds->width; + if (y_position > vs->ds->height) + y_position = vs->ds->height; + if (x_position + w >= vs->ds->width) + w = vs->ds->width - x_position; + if (y_position + h >= vs->ds->height) + h = vs->ds->height - y_position; + int i; vs->need_update = 1; if (!incremental) { -- cgit v1.1