Hi

> -----Original Message-----
> From: sk...@marvell.com <sk...@marvell.com>
> Sent: Tuesday, October 12, 2021 15:36
> To: Li, Xiaoyun <xiaoyun...@intel.com>
> Cc: dev@dpdk.org; Sunil Kumar Kori <sk...@marvell.com>; sta...@dpdk.org
> Subject: [PATCH] app/testpmd: fix invalid memory access
> 
> From: Sunil Kumar Kori <sk...@marvell.com>
> 
> During parsing of DSCP entries, memory is allocated and assgined to 
> *dscp_table.
> Later on, same memory is accessed using *dscp_table[i++].
> 
> Due to higher precedence for array subscript, dscp_table[i++] will be executed
> first which actually does not point to the same memory which was allocated
> previously for DSCP table entries.
> 
> Cc: sta...@dpdk.org
> 
> Fixes: e63b50162aa3 ("app/testpmd: clean metering and policing commands")

I think the fix should be for patch 459463ae6c26 ("app/testpmd: fix memory 
allocation for DSCP table")
Also, added metering maintainer.

BRs
Xiaoyun

> 
> Signed-off-by: Sunil Kumar Kori <sk...@marvell.com>
> ---
>  app/test-pmd/cmdline_mtr.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/app/test-pmd/cmdline_mtr.c b/app/test-pmd/cmdline_mtr.c index
> b5dcfdadcf..ad7ef6ad98 100644
> --- a/app/test-pmd/cmdline_mtr.c
> +++ b/app/test-pmd/cmdline_mtr.c
> @@ -101,13 +101,13 @@ parse_dscp_table_entries(char *str, enum rte_color
> **dscp_table)
>       while (1) {
>               if (strcmp(token, "G") == 0 ||
>                       strcmp(token, "g") == 0)
> -                     *dscp_table[i++] = RTE_COLOR_GREEN;
> +                     (*dscp_table)[i++] = RTE_COLOR_GREEN;
>               else if (strcmp(token, "Y") == 0 ||
>                       strcmp(token, "y") == 0)
> -                     *dscp_table[i++] = RTE_COLOR_YELLOW;
> +                     (*dscp_table)[i++] = RTE_COLOR_YELLOW;
>               else if (strcmp(token, "R") == 0 ||
>                       strcmp(token, "r") == 0)
> -                     *dscp_table[i++] = RTE_COLOR_RED;
> +                     (*dscp_table)[i++] = RTE_COLOR_RED;
>               else {
>                       free(*dscp_table);
>                       return -1;
> --
> 2.25.1

Reply via email to