mirror of
https://github.com/qemu/qemu.git
synced 2024-11-24 11:23:43 +08:00
vnc_refresh: return if vd->timer is NULL
Hi all, calling vnc_update_client in vnc_refresh might have the unlikely side effect of setting vd->timer = NULL, if the last vnc client disconnected. In this case we have to return from vnc_refresh without updating the timer, otherwise we cause a segfault. Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
parent
dbd483242c
commit
83755c173f
4
vnc.c
4
vnc.c
@ -2305,6 +2305,10 @@ static void vnc_refresh(void *opaque)
|
||||
rects += vnc_update_client(vs, has_dirty);
|
||||
vs = vs->next;
|
||||
}
|
||||
/* vd->timer could be NULL now if the last client disconnected,
|
||||
* in this case don't update the timer */
|
||||
if (vd->timer == NULL)
|
||||
return;
|
||||
|
||||
if (has_dirty && rects) {
|
||||
vd->timer_interval /= 2;
|
||||
|
Loading…
Reference in New Issue
Block a user