net/mlx5: fix resources free in the right function
authorNélio Laranjeiro <nelio.laranjeiro@6wind.com>
Wed, 1 Mar 2017 12:49:41 +0000 (13:49 +0100)
committerFerruh Yigit <ferruh.yigit@intel.com>
Tue, 4 Apr 2017 13:52:51 +0000 (15:52 +0200)
ibv_attr should be freed in the function which allocates the memory.

Fixes: 2097d0d1e2cc ("net/mlx5: support basic flow items and actions")
Cc: stable@dpdk.org
Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
drivers/net/mlx5/mlx5_flow.c

index 6765a77..0712926 100644 (file)
@@ -974,7 +974,6 @@ error:
                ibv_exp_destroy_wq(rte_flow->wq);
        if (!rte_flow->rxq && rte_flow->cq)
                ibv_destroy_cq(rte_flow->cq);
-       rte_free(rte_flow->ibv_attr);
        rte_free(rte_flow);
        return NULL;
 }
@@ -1068,6 +1067,8 @@ priv_flow_create(struct priv *priv,
        }
        rte_flow = priv_flow_create_action_queue(priv, flow.ibv_attr,
                                                 &action, error);
+       if (!rte_flow)
+               goto exit;
        return rte_flow;
 exit:
        rte_free(flow.ibv_attr);