fib: fix accessing empty dpo pool elements
Type: fix
Signed-off-by: ShivaShankarK <shivaashankar1204@gmail.com>
Change-Id: Iee88a2101ce42d7f1cdb65df532c349d14829e4c
diff --git a/src/vnet/dpo/lookup_dpo.c b/src/vnet/dpo/lookup_dpo.c
index ec2cd02..daa2352 100644
--- a/src/vnet/dpo/lookup_dpo.c
+++ b/src/vnet/dpo/lookup_dpo.c
@@ -1467,7 +1467,10 @@
if (INDEX_INVALID != lkdi)
{
- vlib_cli_output (vm, "%U", format_lookup_dpo, lkdi);
+ if (pool_is_free_index(lookup_dpo_pool, lkdi))
+ vlib_cli_output (vm, "no such index %d", lkdi);
+ else
+ vlib_cli_output (vm, "%U", format_lookup_dpo, lkdi);
}
else
{
diff --git a/src/vnet/dpo/replicate_dpo.c b/src/vnet/dpo/replicate_dpo.c
index 998a729..cd753dc 100644
--- a/src/vnet/dpo/replicate_dpo.c
+++ b/src/vnet/dpo/replicate_dpo.c
@@ -687,7 +687,10 @@
if (INDEX_INVALID != repi)
{
- vlib_cli_output (vm, "%U", format_replicate, repi,
+ if (pool_is_free_index (replicate_pool, repi))
+ vlib_cli_output (vm, "no such index %d", repi);
+ else
+ vlib_cli_output (vm, "%U", format_replicate, repi,
REPLICATE_FORMAT_DETAIL);
}
else