From 1f1657a160406f35b701be703e5f2e8d6cc7c299 Mon Sep 17 00:00:00 2001 From: slzhou Date: Wed, 20 Sep 2023 11:50:32 +0800 Subject: [PATCH] fix: fix address sanitizer error --- source/libs/parser/inc/sql.y | 4 ++-- source/libs/parser/src/parAstCreater.c | 3 +++ source/libs/parser/src/sql.c | 4 ++-- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/source/libs/parser/inc/sql.y b/source/libs/parser/inc/sql.y index 667b21893e..7020a65552 100755 --- a/source/libs/parser/inc/sql.y +++ b/source/libs/parser/inc/sql.y @@ -509,8 +509,8 @@ cmd ::= SHOW CLUSTER ALIVE. %type table_kind_db_name_cond_opt { SShowTablesOption } %destructor table_kind_db_name_cond_opt { } -table_kind_db_name_cond_opt(A) ::= . { A.kind = SHOW_KIND_ALL; A.pDbName = createDefaultDatabaseCondValue(pCxt); } -table_kind_db_name_cond_opt(A) ::= table_kind(B). { A.kind = B; A.pDbName = createDefaultDatabaseCondValue(pCxt); } +table_kind_db_name_cond_opt(A) ::= . { A.kind = SHOW_KIND_ALL; A.pDbName = NULL; } +table_kind_db_name_cond_opt(A) ::= table_kind(B). { A.kind = B; A.pDbName = NULL; } table_kind_db_name_cond_opt(A) ::= db_name_cond(C). { A.kind = SHOW_KIND_ALL; A.pDbName = C; } table_kind_db_name_cond_opt(A) ::= table_kind(B) db_name_cond(C). { A.kind = B; A.pDbName = C; } diff --git a/source/libs/parser/src/parAstCreater.c b/source/libs/parser/src/parAstCreater.c index e0b135b4f9..1f29a594c6 100644 --- a/source/libs/parser/src/parAstCreater.c +++ b/source/libs/parser/src/parAstCreater.c @@ -1564,6 +1564,9 @@ SNode* setShowKind(SAstCreateContext* pCxt, SNode* pStmt, EShowKind showKind) { SNode* createShowStmtWithCond(SAstCreateContext* pCxt, ENodeType type, SNode* pDbName, SNode* pTbName, EOperatorType tableCondType) { CHECK_PARSER_STATUS(pCxt); + if (NULL == pDbName) { + pDbName = createDefaultDatabaseCondValue(pCxt); + } if (needDbShowStmt(type) && NULL == pDbName) { snprintf(pCxt->pQueryCxt->pMsg, pCxt->pQueryCxt->msgLen, "database not specified"); pCxt->errCode = TSDB_CODE_PAR_SYNTAX_ERROR; diff --git a/source/libs/parser/src/sql.c b/source/libs/parser/src/sql.c index ff1d834791..752d5a37e1 100644 --- a/source/libs/parser/src/sql.c +++ b/source/libs/parser/src/sql.c @@ -6389,12 +6389,12 @@ static YYACTIONTYPE yy_reduce( break; case 281: /* table_kind_db_name_cond_opt ::= */ #line 512 "sql.y" -{ yymsp[1].minor.yy343.kind = SHOW_KIND_ALL; yymsp[1].minor.yy343.pDbName = createDefaultDatabaseCondValue(pCxt); } +{ yymsp[1].minor.yy343.kind = SHOW_KIND_ALL; yymsp[1].minor.yy343.pDbName = NULL; } #line 6393 "sql.c" break; case 282: /* table_kind_db_name_cond_opt ::= table_kind */ #line 513 "sql.y" -{ yylhsminor.yy343.kind = yymsp[0].minor.yy579; yylhsminor.yy343.pDbName = createDefaultDatabaseCondValue(pCxt); } +{ yylhsminor.yy343.kind = yymsp[0].minor.yy579; yylhsminor.yy343.pDbName = NULL; } #line 6398 "sql.c" yymsp[0].minor.yy343 = yylhsminor.yy343; break;