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 <kraxel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
Gerd Hoffmann 2009-04-27 17:24:51 +02:00 committed by Anthony Liguori
parent 206ab6e090
commit bee1b01083
1 changed files with 2 additions and 1 deletions

3
vnc.c
View File

@ -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++) {