From cdfc517cbc59a61d293275ced408dbd6422b1aaa Mon Sep 17 00:00:00 2001 From: 54liuyao <54liuyao@163.com> Date: Thu, 10 Nov 2022 10:17:21 +0800 Subject: [PATCH] fix(client):taosAdapter core --- src/client/src/tscServer.c | 4 ++++ src/client/src/tscSubquery.c | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/src/client/src/tscServer.c b/src/client/src/tscServer.c index 4b564f381b..4b2f41ae09 100644 --- a/src/client/src/tscServer.c +++ b/src/client/src/tscServer.c @@ -1037,6 +1037,10 @@ int tscBuildQueryMsg(SSqlObj *pSql, SSqlInfo *pInfo) { int32_t code = TSDB_CODE_SUCCESS; int32_t size = tscEstimateQueryMsgSize(pSql); assert(size > 0); + if (pSql != pSql->signature) { + tscError("%p query msg has been freed", pSql); + return TSDB_CODE_TSC_INVALID_OPERATION; + } if (TSDB_CODE_SUCCESS != tscAllocPayloadFast(pCmd, size)) { tscError("%p failed to malloc for query msg", pSql); diff --git a/src/client/src/tscSubquery.c b/src/client/src/tscSubquery.c index 28daa227a0..7f42c6c9a2 100644 --- a/src/client/src/tscSubquery.c +++ b/src/client/src/tscSubquery.c @@ -2785,6 +2785,10 @@ static void doSendQueryReqs(SSchedMsg* pSchedMsg) { tscError("0x%"PRIx64"subqueries objs reset unexpectedly. numOfSub:%d", pSql->self, pSql->subState.numOfSub); break; } + if (pSub != pSub->signature) { + tscError("%p query msg has been freed", pSub); + break; + } SRetrieveSupport* pSupport = pSub->param; tscDebug("0x%"PRIx64" sub:0x%"PRIx64" launch subquery, orderOfSub:%d.", pSql->self, pSub->self, pSupport->subqueryIndex); -- GitLab