From b665487e0b3e0640b8c075a339c745acdf8ef2af Mon Sep 17 00:00:00 2001 From: Jiawei Wang Date: Tue, 26 Jan 2021 05:49:42 +0200 Subject: [PATCH] app/testpmd: fix sample action for RSS with no key When the RSS with null key was set in sample actions list, it caused the segmentation fault since the RSS key pointer was NULL while did the memory copy. This patch adds the RSS key NULL pointer checking before copying to fix the segmentation fault issue. Fixes: 11b1b0eddade ("app/testpmd: support RSS in sample action") Signed-off-by: Jiawei Wang Acked-by: Viacheslav Ovsiienko Reviewed-by: Ferruh Yigit --- app/test-pmd/cmdline_flow.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/test-pmd/cmdline_flow.c b/app/test-pmd/cmdline_flow.c index f7d58b1f16..1d962785b3 100644 --- a/app/test-pmd/cmdline_flow.c +++ b/app/test-pmd/cmdline_flow.c @@ -7888,7 +7888,7 @@ cmd_set_raw_parsed_sample(const struct buffer *in) rss = action->conf; rte_memcpy(&sample_rss_data[idx].conf, (const void *)rss, size); - if (rss->key_len) { + if (rss->key_len && rss->key) { sample_rss_data[idx].conf.key = sample_rss_data[idx].key; rte_memcpy((void *)((uintptr_t) @@ -7896,7 +7896,7 @@ cmd_set_raw_parsed_sample(const struct buffer *in) (const void *)rss->key, sizeof(uint8_t) * rss->key_len); } - if (rss->queue_num) { + if (rss->queue_num && rss->queue) { sample_rss_data[idx].conf.queue = sample_rss_data[idx].queue; rte_memcpy((void *)((uintptr_t) -- 2.20.1