summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDave Barach <dave@barachs.net>2016-10-12 17:32:39 -0400
committerDave Barach <dave@barachs.net>2016-10-12 17:32:56 -0400
commit1946a12a52deddfb501d2bdf320ff280cb42a076 (patch)
tree0301cf76c49f81ed4a58e26587f24bddfdac898b
parent1e66d5c54b81b8d6290153f1b3c2b021c4b62fad (diff)
Fix coverity warnings, VPP-486
Change-Id: I7a14d9a28514cdb49f65fab1b120b53239fed7e3 Signed-off-by: Dave Barach <dave@barachs.net>
-rw-r--r--vnet/vnet/classify/flow_classify_node.c2
-rw-r--r--vnet/vnet/ip/ip6_neighbor.c2
-rw-r--r--vpp/app/vpe_cli.c3
-rw-r--r--vpp/vpp-api/api.c8
4 files changed, 11 insertions, 4 deletions
diff --git a/vnet/vnet/classify/flow_classify_node.c b/vnet/vnet/classify/flow_classify_node.c
index aa3bce5467a..5c9e0820a26 100644
--- a/vnet/vnet/classify/flow_classify_node.c
+++ b/vnet/vnet/classify/flow_classify_node.c
@@ -267,7 +267,7 @@ flow_classify_inline (vlib_main_t * vm,
t->sw_if_index = vnet_buffer(b0)->sw_if_index[VLIB_RX];
t->next_index = next0;
t->table_index = t0 ? t0 - vcm->tables : ~0;
- t->offset = e0 ? vnet_classify_get_offset (t0, e0): ~0;
+ t->offset = (t0 && e0) ? vnet_classify_get_offset (t0, e0): ~0;
}
/* Verify speculative enqueue, maybe switch current next frame */
diff --git a/vnet/vnet/ip/ip6_neighbor.c b/vnet/vnet/ip/ip6_neighbor.c
index fdec2d4a0f2..97e7e84ac42 100644
--- a/vnet/vnet/ip/ip6_neighbor.c
+++ b/vnet/vnet/ip/ip6_neighbor.c
@@ -1705,7 +1705,7 @@ ip6_neighbor_sw_interface_add_del (vnet_main_t * vnm,
a->seed = random_default_seed();
/* for generating random interface ids */
- a->randomizer = 0x1119194911191949;
+ a->randomizer = 0x1119194911191949ULL;
a->randomizer = random_u64 ((u32 *)&a->randomizer);
a->initial_adverts_count = MAX_INITIAL_RTR_ADVERTISEMENTS ;
diff --git a/vpp/app/vpe_cli.c b/vpp/app/vpe_cli.c
index 3b24c26f3e6..38bf843dd32 100644
--- a/vpp/app/vpe_cli.c
+++ b/vpp/app/vpe_cli.c
@@ -72,8 +72,7 @@ virtual_ip_cmd_fn_command_fn (vlib_main_t * vm,
format_unformat_error, input);
}
}
- if (vec_len (mac_addrs) == 0 ||
- vec_len (next_hops) == 0 || vec_len (mac_addrs) != vec_len (next_hops))
+ if (vec_len (mac_addrs) == 0 || vec_len (mac_addrs) != vec_len (next_hops))
goto barf;
/* Create / delete special interface route /32's */
diff --git a/vpp/vpp-api/api.c b/vpp/vpp-api/api.c
index 84e4d5d550a..3840b820aa9 100644
--- a/vpp/vpp-api/api.c
+++ b/vpp/vpp-api/api.c
@@ -1597,6 +1597,14 @@ static void
/* Detect the set of worker threads */
uword *p = hash_get_mem (tm->thread_registrations_by_name, "workers");
+
+ if (p == 0)
+ {
+ clib_warning ("worker thread registration AWOL !!");
+ rv = VNET_API_ERROR_INVALID_VALUE_2;
+ goto done;
+ }
+
vlib_thread_registration_t *tr = (vlib_thread_registration_t *) p[0];
int worker_thread_first = tr->first_index;
int worker_thread_count = tr->count;