From: Ralf Habacker Date: Mon, 16 May 2016 10:52:25 +0000 (+0200) Subject: Fix ambiguous setup of DBusBabySitter struct member child_handle on Windows. X-Git-Tag: dbus-1.10.10~20 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7bcaf35bcaf8d594950df9b4a92b6f822ebfcabc;p=thirdparty%2Fdbus.git Fix ambiguous setup of DBusBabySitter struct member child_handle on Windows. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=95191 Reviewed-by: Simon McVittie --- diff --git a/dbus/dbus-spawn-win.c b/dbus/dbus-spawn-win.c index cbd26f184..f741f923a 100644 --- a/dbus/dbus-spawn-win.c +++ b/dbus/dbus-spawn-win.c @@ -605,6 +605,7 @@ babysitter (void *parameter) { int ret = 0; DBusBabysitter *sitter = (DBusBabysitter *) parameter; + HANDLE handle; PING(); if (sitter->child_setup) @@ -616,11 +617,14 @@ babysitter (void *parameter) _dbus_verbose ("babysitter: spawning %s\n", sitter->log_name); PING(); - sitter->child_handle = spawn_program (sitter->log_name, - sitter->argv, sitter->envp); + handle = spawn_program (sitter->log_name, sitter->argv, sitter->envp); PING(); - if (sitter->child_handle == (HANDLE) -1) + if (handle != INVALID_HANDLE_VALUE) + { + sitter->child_handle = handle; + } + else { sitter->child_handle = NULL; sitter->have_spawn_errno = TRUE;