]> git.ipfire.org Git - thirdparty/open-vm-tools.git/commitdiff
Fix tools uninstall crash when stopping vmuser
authorVMware, Inc <>
Tue, 13 Mar 2012 20:09:34 +0000 (13:09 -0700)
committerDmitry Torokhov <dtor@vmware.com>
Wed, 14 Mar 2012 16:43:25 +0000 (09:43 -0700)
During uninstall/upgrade, tools launches
vmtoolsd.exe -n vmusr --kill
to stop the existing user process. The new instance however
crashes before it could send the message, and therefore the
existing vmuser process remains.

The problem is uninstall doesn't wait for the process to
finish, and proceeds with the uninstall. This removes the
Tools registry entry which vmtoolsd.exe tries to read on
startup. It hits the assert and crashes the process.

The fix is in two places. We fixed vmtoolsd.exe so it doesn't
assert if the registry entry doesn't exist, and updated the
installer to launch and wait for the process to finish before
continue.

Signed-off-by: Dmitry Torokhov <dtor@vmware.com>
open-vm-tools/libvmtools/i18n.c

index b92251204026b52490f50e65c6a0bd7934b8f2ad..c526e83ede4785742ff69027c0a98719c61d88db 100644 (file)
@@ -738,9 +738,8 @@ VMTools_BindTextDomain(const char *domain,
       dfltdir = Util_SafeStrdup(VMTOOLS_DATA_DIR);
 #else
       dfltdir = GuestApp_GetInstallPath();
-      ASSERT_MEM_ALLOC(dfltdir);
 #endif
-      catdir = dfltdir;
+      catdir = (dfltdir) ? dfltdir : ".";
    }
 
    file = g_strdup_printf("%s%smessages%s%s%s%s.vmsg",