From aa86490ed2f6c7e05e8cc098175d921760c502a2 Mon Sep 17 00:00:00 2001 From: dapan1121 Date: Wed, 20 Sep 2023 18:57:00 +0800 Subject: [PATCH] fix: sync param free issue --- source/client/src/clientImpl.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/source/client/src/clientImpl.c b/source/client/src/clientImpl.c index 7d0b1dddd6..4826250df0 100644 --- a/source/client/src/clientImpl.c +++ b/source/client/src/clientImpl.c @@ -1698,7 +1698,10 @@ void* doAsyncFetchRows(SRequestObj* pRequest, bool setupOneRowPtr, bool convertU // convert ucs4 to native multi-bytes string pResultInfo->convertUcs4 = convertUcs4; - SSyncQueryParam* pParam = pRequest->body.param; + SSyncQueryParam* pParam = NULL; + if (pRequest->syncQuery) { + pParam = pRequest->body.param; + } taos_fetch_rows_a(pRequest, syncFetchFn, pParam); tsem_wait(&pParam->sem); } @@ -2553,7 +2556,7 @@ 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->syncQuery && pRequest->body.param != param) { if (pRequest->body.param) { tsem_destroy(&((SSyncQueryParam *)pRequest->body.param)->sem); }