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

Numan Siddique numans at ovn.org
Tue Oct 22 06:18:20 UTC 2019


On Tue, Oct 22, 2019 at 6:57 AM Han Zhou <hzhou at ovn.org> wrote:

> 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>
>

Acked-by: Numan Siddique <numans 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
>
> _______________________________________________
> dev mailing list
> dev at openvswitch.org
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
>


More information about the dev mailing list