diff --git a/source/libs/transport/src/transCli.c b/source/libs/transport/src/transCli.c index 798a5bf54f..e2b69dd145 100644 --- a/source/libs/transport/src/transCli.c +++ b/source/libs/transport/src/transCli.c @@ -961,6 +961,10 @@ static void cliSendCb(uv_write_t* req, int status) { tTrace("%s conn %p send cost:%dus ", CONN_GET_INST_LABEL(pConn), pConn, (int)cost); } } + if (pMsg->msg.contLen == 0 && pMsg->msg.pCont != 0) { + rpcFreeCont(pMsg->msg.pCont); + pMsg->msg.pCont = 0; + } if (status == 0) { tDebug("%s conn %p data already was written out", CONN_GET_INST_LABEL(pConn), pConn);