From 9e29df54f19f387d300a8393a0e1c8a645fc6e28 Mon Sep 17 00:00:00 2001 From: zhengchao Date: Fri, 16 Aug 2019 14:58:41 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=AF=B9group=E8=A1=A8?= =?UTF-8?q?=E5=90=8D=E7=9A=84=E6=A0=A1=E9=AA=8C=EF=BC=8C=E5=88=86=E7=BB=84?= =?UTF-8?q?=E8=A1=A8=E4=B8=AD=E6=97=A0vitrtual=20table=E7=9A=84=E6=83=85?= =?UTF-8?q?=E5=86=B5=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/entry/Maat_rule.cpp | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/src/entry/Maat_rule.cpp b/src/entry/Maat_rule.cpp index 9c0991e..18ba8d3 100644 --- a/src/entry/Maat_rule.cpp +++ b/src/entry/Maat_rule.cpp @@ -35,7 +35,24 @@ int MAAT_FRAME_VERSION_2_8_20190816=1; - +int is_valid_table_name(const char* str) +{ + size_t i=0, integer_cnt=0; + for(i=0; i='0'&&str[i]<='9') + { + integer_cnt++; + } + } + if(strlen(str)==0 || + integer_cnt==strlen(str) || + 0==strcasecmp(str, "null")) + { + return 0; + } + return 1; +} int is_valid_expr_type(enum MAAT_EXPR_TYPE expr_type) { switch(expr_type) @@ -2179,7 +2196,7 @@ void update_group_rule(struct Maat_table_desc* table,const char* table_line,stru table->udpate_err_cnt++; return; } - if(strlen(virtual_table_name)>0&&strcasecmp(virtual_table_name, "null")) + if(is_valid_table_name(virtual_table_name)) { db_group_rule.virtual_table_id=Maat_table_get_id_by_name(table_mgr, virtual_table_name); if(db_group_rule.virtual_table_id<0)