diff options
Diffstat (limited to 'app/test-pmd/parameters.c')
-rw-r--r-- | app/test-pmd/parameters.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/app/test-pmd/parameters.c b/app/test-pmd/parameters.c index 5d51808f..1dfbcc4f 100644 --- a/app/test-pmd/parameters.c +++ b/app/test-pmd/parameters.c @@ -431,8 +431,11 @@ parse_portnuma_config(const char *q_arg) } socket_id = (uint8_t)int_fld[FLD_SOCKET]; if (new_socket_id(socket_id)) { - print_invalid_socket_id_error(); - return -1; + if (num_sockets >= RTE_MAX_NUMA_NODES) { + print_invalid_socket_id_error(); + return -1; + } + socket_ids[num_sockets++] = socket_id; } port_numa[port_id] = socket_id; } @@ -488,8 +491,11 @@ parse_ringnuma_config(const char *q_arg) } socket_id = (uint8_t)int_fld[FLD_SOCKET]; if (new_socket_id(socket_id)) { - print_invalid_socket_id_error(); - return -1; + if (num_sockets >= RTE_MAX_NUMA_NODES) { + print_invalid_socket_id_error(); + return -1; + } + socket_ids[num_sockets++] = socket_id; } ring_flag = (uint8_t)int_fld[FLD_FLAG]; if ((ring_flag < RX_RING_ONLY) || (ring_flag > RXTX_RING)) { |