From 699451e6dc856529b040693daedb128a8ea6469d Mon Sep 17 00:00:00 2001 From: Yifan Hao Date: Wed, 24 Nov 2021 09:13:33 -0800 Subject: [PATCH] Hash table cleanup [6/n] Fix a memory leak bug introduced in [5/n]. --- src/util/src/hash.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/util/src/hash.c b/src/util/src/hash.c index 6e93db663e..bc202e5f8b 100644 --- a/src/util/src/hash.c +++ b/src/util/src/hash.c @@ -584,8 +584,9 @@ void taosHashCondTraverse(SHashObj *pHashObj, bool (*fp)(void *, void *), void * } pEntry->num -= 1; atomic_sub_fetch_64(&pHashObj->size, 1); - pNode = pNode->next; + SHashNode *next = pNode->next; FREE_HASH_NODE(pHashObj, pNode); + pNode = next; } } @@ -609,7 +610,7 @@ void taosHashClear(SHashObj *pHashObj) { for (int32_t i = 0; i < pHashObj->capacity; ++i) { SHashEntry *pEntry = pHashObj->hashList[i]; if (pEntry->num == 0) { - assert(pEntry->next == 0); + assert(pEntry->next == NULL); continue; } -- GitLab