[Spice-devel] [PATCH] Fix = use instead of ==

Christophe Fergeau cfergeau at redhat.com
Mon Feb 20 02:53:14 PST 2012


When checking for ConnectNamedPipe status, the error check uses
if ( err = ERROR_IO_PENDING) instead of using == which causes this
error check to always trigger. This commit fixes this, however it
needs careful testing since the fact that it went unnoticed means
the code with the bug was working as expected. Maybe changing it
will cause unexpected regressions.
---
 vdservice/vdservice.cpp |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/vdservice/vdservice.cpp b/vdservice/vdservice.cpp
index 4f47678..4701f5a 100644
--- a/vdservice/vdservice.cpp
+++ b/vdservice/vdservice.cpp
@@ -893,7 +893,7 @@ bool VDService::launch_agent()
     ZeroMemory(&overlap, sizeof(overlap));
     overlap.hEvent = CreateEvent(NULL, FALSE, FALSE, NULL);
     DWORD err = (ConnectNamedPipe(_pipe_state.pipe, &overlap) ? 0 : GetLastError());
-    if (err = ERROR_IO_PENDING) {
+    if (err == ERROR_IO_PENDING) {
         HANDLE wait_handles[2] = {overlap.hEvent, _agent_proc_info.hProcess};
         DWORD wait_ret = WaitForMultipleObjects(2, wait_handles, FALSE, VD_AGENT_TIMEOUT);
         if (wait_ret != WAIT_OBJECT_0) {
-- 
1.7.7.6



More information about the Spice-devel mailing list