diff --git a/source/libs/executor/src/exchangeoperator.c b/source/libs/executor/src/exchangeoperator.c index 20b21acf5f..3861262a6c 100644 --- a/source/libs/executor/src/exchangeoperator.c +++ b/source/libs/executor/src/exchangeoperator.c @@ -532,8 +532,10 @@ int32_t loadRemoteDataCallback(void* param, SDataBuf* pMsg, int32_t code) { SSourceDataInfo* pSourceDataInfo = taosArrayGet(pExchangeInfo->pSourceDataInfo, index); int64_t* pRpcHandle = taosArrayGet(pExchangeInfo->pFetchRpcHandles, index); - asyncFreeConnById(pExchangeInfo->pTransporter, *pRpcHandle); - *pRpcHandle = -1; + if (pRpcHandle != NULL) { + asyncFreeConnById(pExchangeInfo->pTransporter, *pRpcHandle); + *pRpcHandle = -1; + } if (!pSourceDataInfo) { return terrno;