diff --git a/source/libs/transport/src/transCli.c b/source/libs/transport/src/transCli.c index b87108bf52..b532372148 100644 --- a/source/libs/transport/src/transCli.c +++ b/source/libs/transport/src/transCli.c @@ -1656,6 +1656,9 @@ static void cliHandleFreeById(SCliMsg* pMsg, SCliThrd* pThrd) { // already recv, and notify upper layer TAOS_CHECK_GOTO(TSDB_CODE_REF_INVALID_ID, NULL, _exception); } else { + destroyCmsg(pMsg); + (void)transReleaseExHandle(transGetRefMgt(), refId); + while (T_REF_VAL_GET(conn) >= 1) { transUnrefCliHandle(conn); }