On 11/17/2022 8:55 AM, Suanming Mou wrote:
> In case action handle destroy fails, the job memory was not freed
> properly. This commit fixes the possible memory leak in the action
> handle destruction failed case.
> 
> Fixes: c9dc03840873 ("ethdev: add indirect action async query")
> 
> Signed-off-by: Suanming Mou <suanmi...@nvidia.com>
> ---
>  app/test-pmd/config.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c
> index 982549ffed..719bdd4261 100644
> --- a/app/test-pmd/config.c
> +++ b/app/test-pmd/config.c
> @@ -2873,9 +2873,9 @@ port_queue_action_handle_destroy(portid_t port_id,
>                       job->type = QUEUE_JOB_TYPE_ACTION_DESTROY;
>                       job->pia = pia;
>  
> -                     if (pia->handle &&
> -                         rte_flow_async_action_handle_destroy(port_id,
> +                     if (rte_flow_async_action_handle_destroy(port_id,

Why 'pia->handle' check removed, was it unnecessary to check it at first
place?

>                               queue_id, &attr, pia->handle, job, &error)) {
> +                             free(job);
>                               ret = port_flow_complain(&error);
>                               continue;
>                       }

Just to double check, when this if branch not taken,
'rte_flow_async_action_handle_destroy()' not failed case, testpmd
'port_queue_flow_pull()' functions frees the 'job', right?

Reply via email to