51 lines
1.7 KiB
Diff
51 lines
1.7 KiB
Diff
|
|
From e4c825d1826d8de5dfec9534b18421de4e46b300 Mon Sep 17 00:00:00 2001
|
||
|
|
From: Han Zhou <hzhou@ovn.org>
|
||
|
|
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 <numans@ovn.org>
|
||
|
|
Signed-off-by: Han Zhou <hzhou@ovn.org>
|
||
|
|
Signed-off-by: Ben Pfaff <blp@ovn.org>
|
||
|
|
---
|
||
|
|
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
|
||
|
|
|
||
|
|
|