From: Michal Privoznik Date: Tue, 12 Apr 2011 14:58:48 +0000 (+0200) Subject: Fix possible infinite loop in remote driver X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=50e4b9195d2d8b46969940336b44221b500a2de3;p=libvirt.git Fix possible infinite loop in remote driver When we take out completed calls from queue we might end up in circular pointer. We don't want pointer to previous item point to element taken out. --- diff --git a/src/remote/remote_driver.c b/src/remote/remote_driver.c index 5cb4f4cb23..b979f71c83 100644 --- a/src/remote/remote_driver.c +++ b/src/remote/remote_driver.c @@ -10672,8 +10672,9 @@ remoteIOEventLoop(virConnectPtr conn, */ VIR_DEBUG("Waking up sleep %d %p %p", tmp->proc_nr, tmp, priv->waitDispatch); virCondSignal(&tmp->cond); + } else { + prev = tmp; } - prev = tmp; tmp = tmp->next; }