From bee1b01083b6adcf580fa30e65a2e59e7231af31 Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Mon, 27 Apr 2009 17:24:51 +0200 Subject: [PATCH] vnc: fix segfault Move down cmp_bytes initialization. Must be after vga_hw_update() call, because that one might change the screen depth. Signed-off-by: Gerd Hoffmann Signed-off-by: Anthony Liguori --- vnc.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/vnc.c b/vnc.c index 34ae8b2..7b1c227 100644 --- a/vnc.c +++ b/vnc.c @@ -705,7 +705,7 @@ static void vnc_update_client(void *opaque) int y; uint8_t *guest_row; uint8_t *server_row; - int cmp_bytes = 16 * ds_get_bytes_per_pixel(vs->ds); + int cmp_bytes; uint32_t width_mask[VNC_DIRTY_WORDS]; int n_rectangles; int saved_offset; @@ -725,6 +725,7 @@ static void vnc_update_client(void *opaque) * Update server dirty map. */ vnc_set_bits(width_mask, (ds_get_width(vs->ds) / 16), VNC_DIRTY_WORDS); + cmp_bytes = 16 * ds_get_bytes_per_pixel(vs->ds); guest_row = vs->guest.ds->data; server_row = vs->server.ds->data; for (y = 0; y < vs->guest.ds->height; y++) { -- 1.7.9.5