From e4c825d1826d8de5dfec9534b18421de4e46b300 Mon Sep 17 00:00:00 2001 From: Han Zhou Date: Wed, 30 Oct 2019 22:51:12 -0700 Subject: lflow.c: Fix memory leak of lflow_ref_list_node->ref_name. 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: 43e6900a7991 ("ovn-controller: Maintain resource references for logical flows.") Acked-by: Numan Siddique Signed-off-by: Han Zhou Signed-off-by: Ben Pfaff --- ovn/controller/lflow.c | 2 -- ovn/controller/lflow.h | 2 -- 2 files changed, 4 deletions(-) diff --git a/ovn/controller/lflow.c b/ovn/controller/lflow.c index 1aafafb33..dd72a5b46 100644 --- a/ovn/controller/lflow.c +++ b/ovn/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/ovn/controller/lflow.h b/ovn/controller/lflow.h index 4e1086eb6..752bd5906 100644 --- a/ovn/controller/lflow.h +++ b/ovn/controller/lflow.h @@ -79,8 +79,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.14.1