On Wed, Jun 16, 2021 at 9:57 PM <ohily...@iol.unh.edu> wrote: > > From: Owen Hilyard <ohily...@iol.unh.edu> > > Rules in a classify table were not freed if the table > had a delete function. > > Fixes: be41ac2a3 ("flow_classify: introduce flow classify library") Cc: sta...@dpdk.org
> > Signed-off-by: Owen Hilyard <ohily...@iol.unh.edu> > --- > lib/flow_classify/rte_flow_classify.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/lib/flow_classify/rte_flow_classify.c > b/lib/flow_classify/rte_flow_classify.c > index f125267e8..06aed3b70 100644 > --- a/lib/flow_classify/rte_flow_classify.c > +++ b/lib/flow_classify/rte_flow_classify.c > @@ -579,7 +579,7 @@ rte_flow_classify_table_entry_delete(struct > rte_flow_classifier *cls, > &rule->u.key.key_del, > &rule->key_found, > &rule->entry); > - > + free(rule); > return ret; > } > } I find it strange to free the rule regardless of the result of the f_delete() op. The same is done out of the loop which means this function returns -EINVAL and frees the rule in this case too. Bernard, Ferruh, can you review please? Thanks! -- David Marchand