summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZheng Chao <[email protected]>2024-07-01 14:48:29 +0800
committerZheng Chao <[email protected]>2024-07-01 14:48:29 +0800
commit2d77b9c88d951171354c398cb363c04f4e782f91 (patch)
treedd75fa6b40f2cf901e4706a3ea6780acfe9f8969
parente5f45366c0f21de233108f8bd945b1d527879e8d (diff)
When removing group from a clause, and the clause is empty, the clause id should be cleared.v4.1.39
-rw-r--r--src/maat_compile.c1
-rw-r--r--test/maat_framework_gtest.cpp1
2 files changed, 2 insertions, 0 deletions
diff --git a/src/maat_compile.c b/src/maat_compile.c
index 3849082..bac613a 100644
--- a/src/maat_compile.c
+++ b/src/maat_compile.c
@@ -888,6 +888,7 @@ static void maat_compile_clause_remove_literal(struct maat_compile *compile,
compile_clause_remove_literal(clause, g2c_item);
if (0 == utarray_len(clause->literals)) {
clause->in_use = 0;
+ clause->clause_id = 0;
compile->actual_clause_num--;
}
}
diff --git a/test/maat_framework_gtest.cpp b/test/maat_framework_gtest.cpp
index 92669ae..7a9ee88 100644
--- a/test/maat_framework_gtest.cpp
+++ b/test/maat_framework_gtest.cpp
@@ -3124,6 +3124,7 @@ TEST_F(IPScan, RuleUpdates) {
}
TEST_F(IPScan, RuleChangeClauseId) {
+ //This test is a reproduce of bug OMPUB-1343.
const char *src_table_name = "VIRTUAL_IP_PLUS_SOURCE";
const char *dst_table_name = "VIRTUAL_IP_PLUS_DESTINATION";
const char *phy_ip_table_name = "IP_PLUS_CONFIG";