From c0d80b875d146e16411b8ace491ce297e3e0e818 Mon Sep 17 00:00:00 2001 From: Ping Xiao Date: Thu, 5 Aug 2021 18:09:59 +0800 Subject: [PATCH] fix crash issue --- src/client/src/tscProfile.c | 6 +++++- src/client/src/tscUtil.c | 3 +-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/client/src/tscProfile.c b/src/client/src/tscProfile.c index 92ad9b7924..e307690c24 100644 --- a/src/client/src/tscProfile.c +++ b/src/client/src/tscProfile.c @@ -264,9 +264,12 @@ int tscBuildQueryStreamDesc(void *pMsg, STscObj *pObj) { snprintf(p, remainLen, "N/A"); } else { int32_t len; + if (pSql->pSubs != NULL && pSql->subState.states != NULL) { for (int32_t i = 0; i < pQdesc->numOfSub; ++i) { + SSqlObj* psub = pSql->pSubs[i]; + int64_t self = (psub != NULL)? psub->self:0; len = snprintf(p, remainLen, "[%d]0x%" PRIx64 "(%c) ", i, - pSql->pSubs[i]->self, + self, pSql->subState.states[i] ? 'C' : 'I'); if (len > remainLen) { break; @@ -274,6 +277,7 @@ int tscBuildQueryStreamDesc(void *pMsg, STscObj *pObj) { remainLen -= len; p += len; } + } } pQdesc->numOfSub = htonl(pQdesc->numOfSub); diff --git a/src/client/src/tscUtil.c b/src/client/src/tscUtil.c index 71aa75dafb..ecd65a7ae4 100644 --- a/src/client/src/tscUtil.c +++ b/src/client/src/tscUtil.c @@ -1482,8 +1482,6 @@ void tscFreeSqlObj(SSqlObj* pSql) { tscFreeMetaSqlObj(&pSql->metaRid); tscFreeMetaSqlObj(&pSql->svgroupRid); - tscFreeSubobj(pSql); - SSqlCmd* pCmd = &pSql->cmd; int32_t cmd = pCmd->command; if (cmd < TSDB_SQL_INSERT || cmd == TSDB_SQL_RETRIEVE_GLOBALMERGE || cmd == TSDB_SQL_RETRIEVE_EMPTY_RESULT || @@ -1491,6 +1489,7 @@ void tscFreeSqlObj(SSqlObj* pSql) { tscRemoveFromSqlList(pSql); } + tscFreeSubobj(pSql); pSql->signature = NULL; pSql->fp = NULL; tfree(pSql->sqlstr);