If the node id check failed, graph_lock was not taken before releasing. Fixes: c59dac2ca14a ("graph: implement node operations") Cc: sta...@dpdk.org
Signed-off-by: David Marchand <david.march...@redhat.com> --- lib/graph/node.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/graph/node.c b/lib/graph/node.c index fc6345de07..149414dcd9 100644 --- a/lib/graph/node.c +++ b/lib/graph/node.c @@ -300,16 +300,16 @@ rte_node_edge_shrink(rte_node_t id, rte_edge_t size) if (node->id == id) { if (node->nb_edges < size) { rte_errno = E2BIG; - goto fail; + } else { + node->nb_edges = size; + rc = size; } - node->nb_edges = size; - rc = size; break; } } -fail: graph_spinlock_unlock(); +fail: return rc; } -- 2.39.0