diff --git a/src/client/src/tscAsync.c b/src/client/src/tscAsync.c index c61402192d6faa01e683851513630d5c9807ae3f..f4fad427192f155b957ad339471ea2bd19bc0db1 100644 --- a/src/client/src/tscAsync.c +++ b/src/client/src/tscAsync.c @@ -368,7 +368,9 @@ void tscProcessAsyncRes(SSchedMsg *pMsg) { pSql->fp = pSql->fetchFp; } - (*pSql->fp)(pSql->param, taosres, code); + if (pSql->fp) { + (*pSql->fp)(pSql->param, taosres, code); + } if (shouldFree) { tscTrace("%p sqlObj is automatically freed in async res", pSql); diff --git a/src/client/src/tscUtil.c b/src/client/src/tscUtil.c index 57634e73fd2dc0ed4f97ad5d53f0778d52dde945..b1f5a99b67d8dcc598d53f12866550aa4e6e9671 100644 --- a/src/client/src/tscUtil.c +++ b/src/client/src/tscUtil.c @@ -1451,8 +1451,6 @@ bool tscShouldBeFreed(SSqlObj* pSql) { return false; } - assert(pSql->fp != NULL); - STscObj* pTscObj = pSql->pTscObj; if (pSql->pStream != NULL || pTscObj->pHb == pSql || pSql->pSubscription != NULL) { return false; diff --git a/src/rpc/src/rpcMain.c b/src/rpc/src/rpcMain.c index dcbcae452dac52937bd5a7c3c5b220caabc08b91..f05416c0cde48171fd221da4fe57c8fd5e93c188 100644 --- a/src/rpc/src/rpcMain.c +++ b/src/rpc/src/rpcMain.c @@ -924,7 +924,7 @@ static void *rpcProcessMsgFromPeer(SRecvInfo *pRecv) { // underlying UDP layer does not know it is server or client pRecv->connType = pRecv->connType | pRpc->connType; - if (pRecv->ip == 0) { + if (pRecv->msg == NULL) { rpcProcessBrokenLink(pConn); return NULL; }