diff options
Diffstat (limited to 'src/vnet/fib')
-rw-r--r-- | src/vnet/fib/fib_table.c | 3 | ||||
-rw-r--r-- | src/vnet/fib/fib_test.c | 11 |
2 files changed, 9 insertions, 5 deletions
diff --git a/src/vnet/fib/fib_table.c b/src/vnet/fib/fib_table.c index 69746d96912..f46a5b42183 100644 --- a/src/vnet/fib/fib_table.c +++ b/src/vnet/fib/fib_table.c @@ -1148,7 +1148,6 @@ fib_table_create_and_lock (fib_protocol_t proto, fib_node_index_t fi; va_list ap; - va_start(ap, fmt); switch (proto) { @@ -1167,6 +1166,8 @@ fib_table_create_and_lock (fib_protocol_t proto, fib_table = fib_table_get(fi, proto); + va_start(ap, fmt); + fib_table->ft_desc = va_format(fib_table->ft_desc, fmt, &ap); va_end(ap); diff --git a/src/vnet/fib/fib_test.c b/src/vnet/fib/fib_test.c index 492369c3540..e26cc674a88 100644 --- a/src/vnet/fib/fib_test.c +++ b/src/vnet/fib/fib_test.c @@ -212,7 +212,8 @@ fib_test_mk_intf (u32 ninterfaces) #define FIB_TEST_RPF(_cond, _comment, _args...) \ { \ if (FIB_TEST_I(_cond, _comment, ##_args)) { \ - return (1); \ + res = 1; \ + goto cleanup; \ } \ } @@ -258,6 +259,7 @@ fib_test_urpf_is_equal (fib_node_index_t fei, dpo_reset(&dpo); +cleanup: va_end(ap); return (res); @@ -671,7 +673,6 @@ fib_test_validate_entry (fib_node_index_t fei, va_list ap; int res; - va_start(ap, n_buckets); res = 0; pfx = fib_entry_get_prefix(fei); @@ -682,8 +683,10 @@ fib_test_validate_entry (fib_node_index_t fei, { const replicate_t *rep; + va_start(ap, n_buckets); rep = replicate_get(dpo.dpoi_index); res = fib_test_validate_rep_v(rep, n_buckets, &ap); + va_end (ap); } else { @@ -694,8 +697,10 @@ fib_test_validate_entry (fib_node_index_t fei, format_fib_prefix, pfx, format_dpo_type, dpo.dpoi_type); + va_start(ap, n_buckets); lb = load_balance_get(dpo.dpoi_index); res = fib_test_validate_lb_v(lb, n_buckets, &ap); + va_end(ap); /* * ensure that the LB contributed by the entry is the @@ -736,8 +741,6 @@ fib_test_validate_entry (fib_node_index_t fei, dpo_reset(&dpo); - va_end(ap); - return (res); } |