From 3b6581a3d3bba2a08355606bb09437759729ee5c Mon Sep 17 00:00:00 2001 From: Declan Doherty Date: Wed, 17 Dec 2014 11:46:57 +0000 Subject: [PATCH] bond: check bounds before assigning active slave count Signed-off-by: Declan Doherty --- lib/librte_pmd_bond/rte_eth_bond_api.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/librte_pmd_bond/rte_eth_bond_api.c b/lib/librte_pmd_bond/rte_eth_bond_api.c index ef5ddf4379..b1247847a7 100644 --- a/lib/librte_pmd_bond/rte_eth_bond_api.c +++ b/lib/librte_pmd_bond/rte_eth_bond_api.c @@ -115,6 +115,9 @@ activate_slave(struct rte_eth_dev *eth_dev, uint8_t port_id) if (internals->mode == BONDING_MODE_8023AD) bond_mode_8023ad_activate_slave(eth_dev, port_id); + RTE_VERIFY(internals->active_slave_count < + (RTE_DIM(internals->active_slaves) - 1)); + internals->active_slaves[internals->active_slave_count] = port_id; internals->active_slave_count++; } @@ -144,6 +147,7 @@ deactivate_slave(struct rte_eth_dev *eth_dev, uint8_t port_id) sizeof(internals->active_slaves[0])); } + RTE_VERIFY(active_count < RTE_DIM(internals->active_slaves)); internals->active_slave_count = active_count; if (eth_dev->data->dev_started && internals->mode == BONDING_MODE_8023AD) -- 2.20.1