From: Oliver Kurth Date: Fri, 15 Sep 2017 18:22:53 +0000 (-0700) Subject: ToolsCore_InitVsockFamily() must tolerate the lack of an RPC channel X-Git-Tag: stable-10.2.0~636 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=f986bdbaebdb6937f2c26606dcdbd12e73ca1d8a;p=thirdparty%2Fopen-vm-tools.git ToolsCore_InitVsockFamily() must tolerate the lack of an RPC channel when the backdoor has been disabled. --- diff --git a/open-vm-tools/services/vmtoolsd/toolsRpc.c b/open-vm-tools/services/vmtoolsd/toolsRpc.c index ad3542c84..a015a4abf 100644 --- a/open-vm-tools/services/vmtoolsd/toolsRpc.c +++ b/open-vm-tools/services/vmtoolsd/toolsRpc.c @@ -423,11 +423,18 @@ ToolsCore_InitVsockFamily(ToolsServiceState *state) int vsockDev = -1; ASSERT(state); - ASSERT(state->ctx.rpc); state->vsockDev = -1; state->vsockFamily = -1; + if (!state->ctx.rpc) { + /* + * Nothing more to do when there is no RPC channel. + */ + g_debug("No RPC channel; skipping reference to vSocket family.\n"); + return TRUE; + } + switch (RpcChannel_GetType(state->ctx.rpc)) { case RPCCHANNEL_TYPE_INACTIVE: case RPCCHANNEL_TYPE_PRIV_VSOCK: @@ -467,7 +474,6 @@ void ToolsCore_ReleaseVsockFamily(ToolsServiceState *state) { ASSERT(state); - ASSERT(state->ctx.rpc); if (state->vsockFamily >= 0) { ASSERT(state->vsockDev >= 0);