[dpdk-dev,v3,1/3] bond: add bounds check before assigning active slave count value

Message ID 1418816819-13517-2-git-send-email-declan.doherty@intel.com (mailing list archive)
State Accepted, archived
Headers

Commit Message

Doherty, Declan Dec. 17, 2014, 11:46 a.m. UTC
  Signed-off-by: Declan Doherty <declan.doherty@intel.com>
---
 lib/librte_pmd_bond/rte_eth_bond_api.c | 4 ++++
 1 file changed, 4 insertions(+)
  

Patch

diff --git a/lib/librte_pmd_bond/rte_eth_bond_api.c b/lib/librte_pmd_bond/rte_eth_bond_api.c
index ef5ddf4..b124784 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)