[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH] vnc_refresh: return if vd->timer is NULL
From: |
Stefano Stabellini |
Subject: |
[Qemu-devel] [PATCH] vnc_refresh: return if vd->timer is NULL |
Date: |
Mon, 11 Jan 2010 17:30:50 +0000 |
User-agent: |
Alpine 2.00 (DEB 1167 2008-08-23) |
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 <address@hidden>
---
diff --git a/vnc.c b/vnc.c
index c54c6e0..58eac73 100644
--- a/vnc.c
+++ b/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;
- [Qemu-devel] [PATCH] vnc_refresh: return if vd->timer is NULL,
Stefano Stabellini <=