summaryrefslogtreecommitdiffstats
path: root/src/vnet/adj/adj.c
diff options
context:
space:
mode:
authorBenoît Ganne <bganne@cisco.com>2019-07-18 17:34:28 +0200
committerNeale Ranns <nranns@cisco.com>2019-09-23 09:14:52 +0000
commit138c37af5291e2045075052a4db036be03be4a85 (patch)
tree9023316926f0f62fad94680e31547c07aee08aae /src/vnet/adj/adj.c
parentd51880c5de3a1b22d9ac510305bdfe98fa12e51c (diff)
fib: do not dump no-longer valid adjacencies
In some cases, we can refer to no-longer adjacencies (eg. in traces). Do not dump them in this case as they are probably incorrect (memory can be reused). Type: fix Change-Id: Ib653ba066bb6595ec6ec37d313a3124bce0eeed3 Signed-off-by: Benoît Ganne <bganne@cisco.com>
Diffstat (limited to 'src/vnet/adj/adj.c')
-rw-r--r--src/vnet/adj/adj.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/vnet/adj/adj.c b/src/vnet/adj/adj.c
index bafa33618cb..0966d97cc6d 100644
--- a/src/vnet/adj/adj.c
+++ b/src/vnet/adj/adj.c
@@ -139,6 +139,10 @@ format_ip_adjacency (u8 * s, va_list * args)
adj_index = va_arg (*args, u32);
fiaf = va_arg (*args, format_ip_adjacency_flags_t);
+
+ if (!adj_is_valid(adj_index))
+ return format(s, "<invalid adjacency>");
+
adj = adj_get(adj_index);
switch (adj->lookup_next_index)