diff options
Diffstat (limited to 'vnet')
-rw-r--r-- | vnet/vnet/classify/vnet_classify.c | 14 | ||||
-rw-r--r-- | vnet/vnet/lisp-gpe/ip_forward.c | 1 | ||||
-rw-r--r-- | vnet/vnet/map/map.c | 6 | ||||
-rw-r--r-- | vnet/vnet/policer/xlate.c | 4 |
4 files changed, 16 insertions, 9 deletions
diff --git a/vnet/vnet/classify/vnet_classify.c b/vnet/vnet/classify/vnet_classify.c index 23aa51592c2..3b75ab5dc67 100644 --- a/vnet/vnet/classify/vnet_classify.c +++ b/vnet/vnet/classify/vnet_classify.c @@ -980,8 +980,11 @@ uword unformat_classify_mask (unformat_input_t * input, va_list * args) if (l2 == 0) vec_validate (l2, 13); mask = l2; - vec_append (mask, l3); - vec_free (l3); + if (l3) + { + vec_append (mask, l3); + vec_free (l3); + } } /* Scan forward looking for the first significant mask octet */ @@ -1715,8 +1718,11 @@ uword unformat_classify_match (unformat_input_t * input, va_list * args) if (l2 == 0) vec_validate_aligned (l2, 13, sizeof(u32x4)); match = l2; - vec_append_aligned (match, l3, sizeof(u32x4)); - vec_free (l3); + if (l3) + { + vec_append_aligned (match, l3, sizeof(u32x4)); + vec_free (l3); + } } /* Make sure the vector is big enough even if key is all 0's */ diff --git a/vnet/vnet/lisp-gpe/ip_forward.c b/vnet/vnet/lisp-gpe/ip_forward.c index 47f3f7b3755..98c52226280 100644 --- a/vnet/vnet/lisp-gpe/ip_forward.c +++ b/vnet/vnet/lisp-gpe/ip_forward.c @@ -162,6 +162,7 @@ ip4_sd_fib_clear_src_fib (lisp_gpe_main_t * lgm, ip4_fib_t * fib) ip4_route_t x; x.address_length = i; + x.index = 0; /* shut up coverity */ hash_foreach_pair (p, hash, ({ diff --git a/vnet/vnet/map/map.c b/vnet/vnet/map/map.c index 8236811f8b1..93a10c679f0 100644 --- a/vnet/vnet/map/map.c +++ b/vnet/vnet/map/map.c @@ -511,10 +511,10 @@ map_add_domain_command_fn (vlib_main_t * vm, ip4_address_t ip4_prefix; ip6_address_t ip6_prefix; ip6_address_t ip6_src; - u32 ip6_prefix_len, ip4_prefix_len, map_domain_index, ip6_src_len; + u32 ip6_prefix_len = 0, ip4_prefix_len = 0, map_domain_index, ip6_src_len; u32 num_m_args = 0; /* Optional arguments */ - u32 ea_bits_len, psid_offset = 0, psid_length = 0; + u32 ea_bits_len = 0, psid_offset = 0, psid_length = 0; u32 mtu = 0; u8 flags = 0; ip6_src_len = 128; @@ -607,7 +607,7 @@ map_add_rule_command_fn (vlib_main_t * vm, unformat_input_t _line_input, *line_input = &_line_input; ip6_address_t tep; u32 num_m_args = 0; - u32 psid, map_domain_index; + u32 psid = 0, map_domain_index; /* Get a line of input. */ if (!unformat_user (input, unformat_line_input, line_input)) diff --git a/vnet/vnet/policer/xlate.c b/vnet/vnet/policer/xlate.c index 61976b1cbde..c9250eb8d87 100644 --- a/vnet/vnet/policer/xlate.c +++ b/vnet/vnet/policer/xlate.c @@ -1238,11 +1238,11 @@ sse2_pol_convert_hw_to_cfg_params (sse2_qos_pol_hw_params_st *hw, return EINVAL; } - temp_rate = ((hw->avg_rate_man << hw->rate_exp) * 8LL * + temp_rate = (((uint64_t) hw->avg_rate_man << hw->rate_exp) * 8LL * SSE2_QOS_POL_TICKS_PER_SEC)/1000; cfg->rb.kbps.cir_kbps = (uint32_t)temp_rate; - temp_rate = ((hw->peak_rate_man << hw->rate_exp) * 8LL * + temp_rate = (((uint64_t) hw->peak_rate_man << hw->rate_exp) * 8LL * SSE2_QOS_POL_TICKS_PER_SEC)/1000; cfg->rb.kbps.eir_kbps = (uint32_t)temp_rate; |