[dpdk-dev] examples/tep_term: fix out-of-bounds access

Message ID 1467699340-16448-1-git-send-email-beilei.xing@intel.com (mailing list archive)
State Accepted, archived
Delegated to: Thomas Monjalon
Headers

Commit Message

Xing, Beilei July 5, 2016, 6:15 a.m. UTC
  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 | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
  

Comments

Thomas Monjalon July 11, 2016, 2:28 p.m. UTC | #1
2016-07-05 14:15, Beilei Xing:
> 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>

Applied, thanks
  

Patch

diff --git a/examples/tep_termination/vxlan_setup.c b/examples/tep_termination/vxlan_setup.c
index 37575c2..8f1f15b 100644
--- a/examples/tep_termination/vxlan_setup.c
+++ b/examples/tep_termination/vxlan_setup.c
@@ -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.",