From 50e4b9195d2d8b46969940336b44221b500a2de3 Mon Sep 17 00:00:00 2001 From: Michal Privoznik Date: Tue, 12 Apr 2011 16:58:48 +0200 Subject: [PATCH] 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. --- src/remote/remote_driver.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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; }