summaryrefslogtreecommitdiffstats
path: root/src/vnet/fib/fib_test.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/vnet/fib/fib_test.c')
-rw-r--r--src/vnet/fib/fib_test.c11
1 files changed, 7 insertions, 4 deletions
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);
}