examples/tep_term: fix port id check
authorBeilei Xing <beilei.xing@intel.com>
Tue, 5 Jul 2016 06:15:40 +0000 (14:15 +0800)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Mon, 11 Jul 2016 15:21:21 +0000 (17:21 +0200)
Coverity reported lots of out-of-bounds in function
vxlan_link, these issues should happen when index
port_id evaluates to 2, cause size of arrays is
2 in structure.
Fix this issue by modifying judgement condition, make
sure port_id is less than 2.

Coverity issue: 107121, 107122, 107123, 107124, 107125
Fixes: 4abe471ed6fc ("examples/tep_term: implement VXLAN processing")

Signed-off-by: Beilei Xing <beilei.xing@intel.com>
examples/tep_termination/vxlan_setup.c

index 37575c2..8f1f15b 100644 (file)
@@ -249,7 +249,7 @@ vxlan_link(struct vhost_dev *vdev, struct rte_mbuf *m)
 
        struct rte_eth_tunnel_filter_conf tunnel_filter_conf;
 
-       if (unlikely(portid > VXLAN_N_PORTS)) {
+       if (unlikely(portid >= VXLAN_N_PORTS)) {
                RTE_LOG(INFO, VHOST_DATA,
                        "(%d) WARNING: Not configuring device,"
                        "as already have %d ports for VXLAN.",