qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] vnc_refresh: return if vd->timer is NULL


From: Anthony Liguori
Subject: Re: [Qemu-devel] [PATCH] vnc_refresh: return if vd->timer is NULL
Date: Tue, 12 Jan 2010 13:35:29 -0600
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.5) Gecko/20091209 Fedora/3.0-4.fc12 Lightning/1.0pre Thunderbird/3.0

On 01/11/2010 11:30 AM, Stefano Stabellini wrote:
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>

Applied.  Thanks.

Regards,

Anthony Liguori
---

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;








reply via email to

[Prev in Thread] Current Thread [Next in Thread]