graph: fix memory leak in stats
Fix function 'stats_mem_populate' return without
free dynamic memory referenced by 'stats'.
Fixes: af1ae8b6a3
("graph: implement stats")
Cc: stable@dpdk.org
Signed-off-by: Hongbo Zheng <zhenghongbo3@huawei.com>
Signed-off-by: Min Hu (Connor) <humin29@huawei.com>
Reviewed-by: David Marchand <david.marchand@redhat.com>
This commit is contained in:
parent
ee00af6017
commit
3b47572fbe
@ -165,6 +165,7 @@ stats_mem_populate(struct rte_graph_cluster_stats **stats_in,
|
||||
stats = realloc(stats, stats->sz + stats->cluster_node_size);
|
||||
if (stats == NULL)
|
||||
SET_ERR_JMP(ENOMEM, err, "Realloc failed");
|
||||
*stats_in = NULL;
|
||||
|
||||
/* Clear the new struct cluster_node area */
|
||||
cluster = RTE_PTR_ADD(stats, stats->sz),
|
||||
@ -174,7 +175,7 @@ stats_mem_populate(struct rte_graph_cluster_stats **stats_in,
|
||||
cluster->stat.hz = rte_get_timer_hz();
|
||||
node = graph_node_id_to_ptr(graph, id);
|
||||
if (node == NULL)
|
||||
SET_ERR_JMP(ENOENT, err, "Failed to find node %s in graph %s",
|
||||
SET_ERR_JMP(ENOENT, free, "Failed to find node %s in graph %s",
|
||||
graph_node->node->name, graph->name);
|
||||
cluster->nodes[cluster->nb_nodes++] = node;
|
||||
|
||||
@ -183,6 +184,8 @@ stats_mem_populate(struct rte_graph_cluster_stats **stats_in,
|
||||
*stats_in = stats;
|
||||
|
||||
return 0;
|
||||
free:
|
||||
free(stats);
|
||||
err:
|
||||
return -rte_errno;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user