This makes sure that the allocated matcher object is freed for all branches that return NULL.
Coverity issue: 426424 Fixes: 27d171b88031 ("net/mlx5: abstract flow action and enable reconfigure") Cc: mkash...@nvidia.com Signed-off-by: Mahmoud Maatuq <mahmoudmatook...@gmail.com> --- v3: * changed commit message. * fixed typos v2: * fixed Fixes and Cc tags. --- drivers/net/mlx5/mlx5_flow_dv.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/net/mlx5/mlx5_flow_dv.c b/drivers/net/mlx5/mlx5_flow_dv.c index d46beffd4c..8a0d58cb05 100644 --- a/drivers/net/mlx5/mlx5_flow_dv.c +++ b/drivers/net/mlx5/mlx5_flow_dv.c @@ -12010,9 +12010,12 @@ flow_matcher_create_cb(void *tool_ctx, void *cb_ctx) items = *((const struct rte_flow_item **)(ctx->data2)); resource->matcher_object = mlx5dr_bwc_matcher_create (resource->group->tbl, resource->priority, items); - if (!(resource->matcher_object)) + if (!resource->matcher_object) { + mlx5_free(resource); return NULL; + } #else + mlx5_free(resource); return NULL; #endif } -- 2.43.0