diff --git a/source/client/src/clientImpl.c b/source/client/src/clientImpl.c index c83b80dcfc..ee78338a4e 100644 --- a/source/client/src/clientImpl.c +++ b/source/client/src/clientImpl.c @@ -590,6 +590,11 @@ int32_t buildAsyncExecNodeList(SRequestObj* pRequest, SArray** pNodeList, SArray return code; } +void freeVgList(void *list) { + SArray* pList = *(SArray**)list; + taosArrayDestroy(pList); +} + int32_t buildSyncExecNodeList(SRequestObj* pRequest, SArray** pNodeList, SArray* pMnodeList) { SArray* pDbVgList = NULL; SArray* pQnodeList = NULL; @@ -621,7 +626,6 @@ int32_t buildSyncExecNodeList(SRequestObj* pRequest, SArray** pNodeList, SArray* } taosArrayPush(pDbVgList, &pVgList); - taosArrayDestroy(pVgList); } } @@ -642,7 +646,7 @@ int32_t buildSyncExecNodeList(SRequestObj* pRequest, SArray** pNodeList, SArray* _return: - taosArrayDestroy(pDbVgList); + taosArrayDestroyEx(pDbVgList, freeVgList); taosArrayDestroy(pQnodeList); return code;