diff --git a/source/client/src/clientImpl.c b/source/client/src/clientImpl.c index c78ba4c4a0..7d0b1dddd6 100644 --- a/source/client/src/clientImpl.c +++ b/source/client/src/clientImpl.c @@ -2553,6 +2553,14 @@ static void fetchCallback(void* pResult, void* param, int32_t code) { } void taosAsyncFetchImpl(SRequestObj* pRequest, __taos_async_fn_t fp, void* param) { + if (pRequest->syncQuery) { + if (pRequest->body.param) { + tsem_destroy(&((SSyncQueryParam *)pRequest->body.param)->sem); + } + taosMemoryFree(pRequest->body.param); + } + + pRequest->syncQuery = false; pRequest->body.fetchFp = fp; pRequest->body.param = param;