[dpdk-dev] app/testpmd: fix memory access error for metering CLI

Message ID 20171027091735.146399-1-jasvinder.singh@intel.com (mailing list archive)
State Accepted, archived
Delegated to: Ferruh Yigit
Headers

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK

Commit Message

Jasvinder Singh Oct. 27, 2017, 9:17 a.m. UTC
  Fix memory access (out of bounds write) error, color and
action assignments.

Coverity issue: 198437
Fixes: 30ffb4e67ee3 ("app/testpmd: add commands traffic metering and policing")

Signed-off-by: Jasvinder Singh <jasvinder.singh@intel.com>
---
 app/test-pmd/cmdline_mtr.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)
  

Comments

Ferruh Yigit Nov. 7, 2017, 6:29 a.m. UTC | #1
On 10/27/2017 2:17 AM, Jasvinder Singh wrote:
> Fix memory access (out of bounds write) error, color and
> action assignments.
> 
> Coverity issue: 198437
> Fixes: 30ffb4e67ee3 ("app/testpmd: add commands traffic metering and policing")
> 
> Signed-off-by: Jasvinder Singh <jasvinder.singh@intel.com>

Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
  
Ferruh Yigit Nov. 7, 2017, 6:31 a.m. UTC | #2
On 11/6/2017 10:29 PM, Ferruh Yigit wrote:
> On 10/27/2017 2:17 AM, Jasvinder Singh wrote:
>> Fix memory access (out of bounds write) error, color and
>> action assignments.
>>
>> Coverity issue: 198437
>> Fixes: 30ffb4e67ee3 ("app/testpmd: add commands traffic metering and policing")
>>
>> Signed-off-by: Jasvinder Singh <jasvinder.singh@intel.com>
> 
> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>

Applied to dpdk/master, thanks.
  

Patch

diff --git a/app/test-pmd/cmdline_mtr.c b/app/test-pmd/cmdline_mtr.c
index 82b0ddf..d8d806d 100644
--- a/app/test-pmd/cmdline_mtr.c
+++ b/app/test-pmd/cmdline_mtr.c
@@ -802,17 +802,15 @@  static void cmd_set_port_meter_policer_action_parsed(void *parsed_result,
 		color = RTE_MTR_GREEN;
 	else if (strcmp(c, "Y") == 0)
 		color = RTE_MTR_YELLOW;
-	else if (strcmp(c, "Y") == 0)
-		color = RTE_MTR_RED;
 	else
-		color = RTE_MTR_COLORS;
+		color = RTE_MTR_RED;
 
 	/* Action */
 	if (strcmp(a, "G") == 0)
 		action[color] = MTR_POLICER_ACTION_COLOR_GREEN;
 	else if (strcmp(a, "Y") == 0)
 		action[color] = MTR_POLICER_ACTION_COLOR_YELLOW;
-	else if (strcmp(a, "Y") == 0)
+	else if (strcmp(a, "R") == 0)
 		action[color] = MTR_POLICER_ACTION_COLOR_RED;
 	else
 		action[color] = MTR_POLICER_ACTION_DROP;