aboutsummaryrefslogtreecommitdiffstats
path: root/src/vnet/geneve
diff options
context:
space:
mode:
authorDave Barach <dave@barachs.net>2020-02-17 09:13:26 -0500
committerFlorin Coras <florin.coras@gmail.com>2020-02-17 17:18:18 +0000
commit47d41ad62c5d6008e72d2e9c137cf8f49ca86353 (patch)
treea21f871a26f97c6a47fbfbae4b4d67f27c6036f5 /src/vnet/geneve
parenta316744bc5e003d0fa4c8aff82c619b300115f02 (diff)
misc: fix coverity warnings
Add an ALWAYS_ASSERT (...) macro, to (a) shut up coverity, and (b) check the indicated condition in production images. As in: p = hash_get(...); ALWAYS_ASSERT(p) /* was ASSERT(p) */ elt = pool_elt_at_index(pool, p[0]); This may not be the best way to handle a specific case, but failure to check return values at all followed by e.g. a pointer dereference isn't ok. Type: fix Ticket: VPP-1837 Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: Ia97c641cefcfb7ea7d77ea5a55ed4afea0345acb
Diffstat (limited to 'src/vnet/geneve')
-rw-r--r--src/vnet/geneve/encap.c7
-rw-r--r--src/vnet/geneve/geneve.c2
2 files changed, 6 insertions, 3 deletions
diff --git a/src/vnet/geneve/encap.c b/src/vnet/geneve/encap.c
index af52fd24543..2859a9ae652 100644
--- a/src/vnet/geneve/encap.c
+++ b/src/vnet/geneve/encap.c
@@ -131,7 +131,7 @@ geneve_encap_inline (vlib_main_t * vm,
next0 = t0->next_dpo.dpoi_next_node;
}
- ASSERT (t0 != NULL);
+ ALWAYS_ASSERT (t0 != NULL);
vnet_buffer (b[0])->ip.adj_index[VLIB_TX] = t0->next_dpo.dpoi_index;
@@ -145,7 +145,7 @@ geneve_encap_inline (vlib_main_t * vm,
next1 = t1->next_dpo.dpoi_next_node;
}
- ASSERT (t1 != NULL);
+ ALWAYS_ASSERT (t1 != NULL);
vnet_buffer (b[1])->ip.adj_index[VLIB_TX] = t1->next_dpo.dpoi_index;
@@ -378,6 +378,9 @@ geneve_encap_inline (vlib_main_t * vm,
/* Note: change to always set next0 if it may be set to drop */
next0 = t0->next_dpo.dpoi_next_node;
}
+
+ ALWAYS_ASSERT (t0 != NULL);
+
vnet_buffer (b[0])->ip.adj_index[VLIB_TX] = t0->next_dpo.dpoi_index;
/* Apply the rewrite string. $$$$ vnet_rewrite? */
diff --git a/src/vnet/geneve/geneve.c b/src/vnet/geneve/geneve.c
index 0c551a0545e..a54a5383c46 100644
--- a/src/vnet/geneve/geneve.c
+++ b/src/vnet/geneve/geneve.c
@@ -312,7 +312,7 @@ vtep_addr_unref (ip46_address_t * ip)
uword *vtep = ip46_address_is_ip4 (ip) ?
hash_get (geneve_main.vtep4, ip->ip4.as_u32) :
hash_get_mem (geneve_main.vtep6, &ip->ip6);
- ASSERT (vtep);
+ ALWAYS_ASSERT (vtep);
if (--(*vtep) != 0)
return *vtep;
ip46_address_is_ip4 (ip) ?