From d34dc1242f87723a8277f1b21836f802ce69671f Mon Sep 17 00:00:00 2001 From: wangmm0220 Date: Wed, 28 Jun 2023 09:41:20 +0800 Subject: [PATCH] fix:memory leak --- source/dnode/mnode/impl/src/mndConsumer.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/source/dnode/mnode/impl/src/mndConsumer.c b/source/dnode/mnode/impl/src/mndConsumer.c index 1aed0ba366..5f906e80cd 100644 --- a/source/dnode/mnode/impl/src/mndConsumer.c +++ b/source/dnode/mnode/impl/src/mndConsumer.c @@ -646,11 +646,16 @@ int32_t mndProcessSubscribeReq(SRpcMsg *pMsg) { int32_t newTopicNum = taosArrayGetSize(pTopicList); for(int i = 0; i < newTopicNum; i++){ SMqSubscribeObj *pSub = mndAcquireSubscribe(pMnode, (const char*)cgroup, (const char*)taosArrayGetP(pTopicList, i)); + taosRLockLatch(&pSub->lock); if(pSub != NULL && taosHashGetSize(pSub->consumerHash) > MND_MAX_GROUP_PER_TOPIC){ terrno = TSDB_CODE_TMQ_GROUP_OUT_OF_RANGE; code = terrno; + taosRUnLockLatch(&pSub->lock); + mndReleaseSubscribe(pMnode, pSub); goto _over; } + taosRUnLockLatch(&pSub->lock); + mndReleaseSubscribe(pMnode, pSub); } // check topic existence