session: memory leak in mma rule table 80/41180/3
authorSteven Luong <[email protected]>
Mon, 24 Jun 2024 15:18:38 +0000 (08:18 -0700)
committerFlorin Coras <[email protected]>
Tue, 25 Jun 2024 17:11:43 +0000 (17:11 +0000)
When the rule table is allocated, the root node is allocated. But it
cannot be deleted by the add_del API, or the table is useless.

When the table is free, the root node is not free and there is memory
leak. Let's add pool_flush when the rule table is free.

Type: fix

Change-Id: I58c3e040cd101c7db501d99a373ad78d85321b8f
Signed-off-by: Steven Luong <[email protected]>
src/vnet/session/mma_template.c

index 4b2770b..26a23b2 100644 (file)
@@ -67,6 +67,9 @@ RT (mma_rule_free) (RTT (mma_rules_table) * srt, RTT (mma_rule) * rule)
 
 void RT (mma_rules_table_free) (RTT (mma_rules_table) * srt)
 {
+  RTT (mma_rule) * rule;
+
+  pool_flush (rule, srt->rules, ({}));
   pool_free (srt->rules);
 }