[ovs-dev] [PATCH ovn] lflow.c: Fix memory leak of lflow_ref_list_node->ref_name.

Han Zhou hzhou at ovn.org
Tue Oct 22 01:26:44 UTC 2019


The ref_name is copied in lflow_resource_add(), but forgot to free in
lflow_resource_destroy_lflow(). It can be fixed by freeing it in
lflow_resource_destroy_lflow(). However, this field is never really
used, so just delete it from lflow_ref_list_node, together with the
"type" field.

Fixes: d2aa2c7cafead ("ovn-controller: Maintain resource references for logical flows.")
Signed-off-by: Han Zhou <hzhou at ovn.org>
---
 controller/lflow.c | 2 --
 controller/lflow.h | 2 --
 2 files changed, 4 deletions(-)

diff --git a/controller/lflow.c b/controller/lflow.c
index e3ed20c..24e3a52 100644
--- a/controller/lflow.c
+++ b/controller/lflow.c
@@ -230,8 +230,6 @@ lflow_resource_add(struct lflow_resource_ref *lfrr, enum ref_type type,
     }
 
     struct lflow_ref_list_node *lrln = xzalloc(sizeof *lrln);
-    lrln->type = type;
-    lrln->ref_name = xstrdup(ref_name);
     lrln->lflow_uuid = *lflow_uuid;
     ovs_list_push_back(&rlfn->ref_lflow_head, &lrln->ref_list);
     ovs_list_push_back(&lfrn->lflow_ref_head, &lrln->lflow_list);
diff --git a/controller/lflow.h b/controller/lflow.h
index 0572668..abdc55e 100644
--- a/controller/lflow.h
+++ b/controller/lflow.h
@@ -80,8 +80,6 @@ enum ref_type {
 struct lflow_ref_list_node {
     struct ovs_list lflow_list; /* list for same lflow */
     struct ovs_list ref_list; /* list for same ref */
-    enum ref_type type;
-    char *ref_name;
     struct uuid lflow_uuid;
 };
 
-- 
2.1.0



More information about the dev mailing list