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 <jiaw...@nvidia.com> Acked-by: Viacheslav Ovsiienko <viachesl...@nvidia.com> --- 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 0618611..64c0e0f 100644 --- a/app/test-pmd/cmdline_flow.c +++ b/app/test-pmd/cmdline_flow.c @@ -7885,7 +7885,7 @@ static int comp_set_modify_field_id(struct context *, const struct token *, 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) @@ -7893,7 +7893,7 @@ static int comp_set_modify_field_id(struct context *, const struct token *, (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) -- 1.8.3.1