From c16611f820f4a00c1f7fdccb627a7c096ee87d4c Mon Sep 17 00:00:00 2001 From: zhengchao Date: Fri, 24 May 2019 20:55:19 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A3=80=E6=B5=8Bsub=20group=E6=98=AF=E5=90=A6?= =?UTF-8?q?=E5=AD=98=E5=BE=AA=E7=8E=AF=E5=BC=95=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/entry/Maat_rule.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/entry/Maat_rule.cpp b/src/entry/Maat_rule.cpp index bd7378d..538cccc 100644 --- a/src/entry/Maat_rule.cpp +++ b/src/entry/Maat_rule.cpp @@ -3597,7 +3597,7 @@ void find_group_paths(struct Maat_scanner_t* scanner) MESA_htable_iterate(scanner->group_hash, walk_group_hash, scanner); return; } -void do_scanner_update(struct Maat_scanner_t* scanner,MESA_lqueue_head garbage_q,int scan_thread_num,void* logger) +void do_scanner_update(struct Maat_scanner_t* scanner, MESA_lqueue_head garbage_q, int scan_thread_num, void* logger) { struct bool_matcher *tmp1=NULL,*tmp2=NULL; MESA_htable_handle tmp_map=NULL; @@ -3607,6 +3607,15 @@ void do_scanner_update(struct Maat_scanner_t* scanner,MESA_lqueue_head garbage_q GIE_create_para_t para; para.gram_value=7; para.position_accuracy=10; + igraph_bool_t is_dag; + igraph_is_dag(&(scanner->group_graph), &is_dag); + if(!is_dag) + { + MESA_handle_runtime_log(logger, RLOG_LV_FATAL, maat_module, + "Sub group cycle detected! Version %d", + scanner->version); + return; + } find_group_paths(scanner); tmp1=create_bool_matcher(scanner->compile_hash,