bond: check bounds before assigning active slave count
authorDeclan Doherty <declan.doherty@intel.com>
Wed, 17 Dec 2014 11:46:57 +0000 (11:46 +0000)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Wed, 17 Dec 2014 23:26:08 +0000 (00:26 +0100)
Signed-off-by: Declan Doherty <declan.doherty@intel.com>
lib/librte_pmd_bond/rte_eth_bond_api.c

index ef5ddf4..b124784 100644 (file)
@@ -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)