From 9e4dd565b46749d5e6d5cf87bfd84f1917c68319 Mon Sep 17 00:00:00 2001 From: Stefan Weil Date: Wed, 14 Mar 2012 07:58:48 +0100 Subject: [PATCH] vnc: Limit r/w access to size of allocated memory This fixes memory reads and writes which exceeded the upper limit of allocated memory vd->guest.ds->data and vd->server->data. Cc: Anthony Liguori Signed-off-by: Stefan Weil Signed-off-by: Anthony Liguori --- ui/vnc.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/ui/vnc.c b/ui/vnc.c index aef6d3af2..deb9ecd68 100644 --- a/ui/vnc.c +++ b/ui/vnc.c @@ -2562,6 +2562,9 @@ static int vnc_refresh_server_surface(VncDisplay *vd) * Update server dirty map. */ cmp_bytes = 16 * ds_get_bytes_per_pixel(vd->ds); + if (cmp_bytes > vd->ds->surface->linesize) { + cmp_bytes = vd->ds->surface->linesize; + } guest_row = vd->guest.ds->data; server_row = vd->server->data; for (y = 0; y < vd->guest.ds->height; y++) { -- 2.39.5