This issue was reported by PVS studio, described as: https://pvs-studio.com/en/docs/warnings/v522/
Signed-off-by: Rong Qian <qi...@yunsilicon.com> Signed-off-by: Renyong Wan <wa...@yunsilicon.com> --- drivers/net/xsc/xsc_rx.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/net/xsc/xsc_rx.c b/drivers/net/xsc/xsc_rx.c index a702b9592b..0100ccdcfd 100644 --- a/drivers/net/xsc/xsc_rx.c +++ b/drivers/net/xsc/xsc_rx.c @@ -308,7 +308,9 @@ xsc_rss_qp_create(struct xsc_ethdev_priv *priv, int port_id) in->req_len = rte_cpu_to_be_32(cmd_len); for (i = 0; i < priv->num_rq; i++) { - rxq_data = (*priv->rxqs)[i]; + rxq_data = xsc_rxq_get(priv, i); + if (rxq_data == NULL) + return -EINVAL; req = (struct xsc_cmd_create_qp_request *)(&in->data[0] + entry_len * i); req->input_qpn = rte_cpu_to_be_16(0); /* useless for eth */ req->pa_num = rte_cpu_to_be_16(pa_num); @@ -348,6 +350,8 @@ xsc_rss_qp_create(struct xsc_ethdev_priv *priv, int port_id) for (i = 0; i < priv->num_rq; i++) { rxq_data = xsc_rxq_get(priv, i); + if (rxq_data == NULL) + return -EINVAL; rxq_data->wqes = rxq_data->rq_pas->addr; if (!xsc_dev_is_vf(xdev)) rxq_data->rq_db = (uint32_t *)((uint8_t *)xdev->bar_addr + -- 2.25.1