diff --git a/src/rpc/src/rpcMain.c b/src/rpc/src/rpcMain.c index 198f4ac0bd243e13e26201ed5e5988e6adf58353..a0c164955656c116f97cd44247cb6381fb444a7d 100644 --- a/src/rpc/src/rpcMain.c +++ b/src/rpc/src/rpcMain.c @@ -420,12 +420,7 @@ void rpcSendResponse(const SRpcMsg *pRsp) { SRpcMsg *pMsg = &rpcMsg; SRpcInfo *pRpc = pConn->pRpc; - if (pConn == NULL) { - rpcFreeCont(pMsg->pCont); - return; - } - - if (pMsg->pCont == NULL) { + if ( pMsg->pCont == NULL ) { pMsg->pCont = rpcMallocCont(0); pMsg->contLen = 0; } @@ -1026,7 +1021,7 @@ static void rpcReportBrokenLinkToServer(SRpcConn *pConn) { rpcMsg.pCont = pConn->pReqMsg; // pReqMsg is re-used to store the APP context from server rpcMsg.contLen = pConn->reqMsgLen; // reqMsgLen is re-used to store the APP context length rpcMsg.ahandle = pConn->ahandle; - rpcMsg.handle = NULL; + rpcMsg.handle = pConn; rpcMsg.msgType = pConn->inType; rpcMsg.code = TSDB_CODE_RPC_NETWORK_UNAVAIL; pConn->pReqMsg = NULL;