fib: fix accessing empty dpo pool elements 65/26465/5
authorShivaShankarK <shivaashankar1204@gmail.com>
Fri, 10 Apr 2020 12:50:02 +0000 (18:20 +0530)
committerNeale Ranns <nranns@cisco.com>
Sat, 11 Apr 2020 17:07:43 +0000 (17:07 +0000)
Type: fix

Signed-off-by: ShivaShankarK <shivaashankar1204@gmail.com>
Change-Id: Iee88a2101ce42d7f1cdb65df532c349d14829e4c

src/vnet/dpo/lookup_dpo.c
src/vnet/dpo/replicate_dpo.c

index ec2cd02..daa2352 100644 (file)
@@ -1467,7 +1467,10 @@ lookup_dpo_show (vlib_main_t * vm,
 
     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
     {
index 998a729..cd753dc 100644 (file)
@@ -687,7 +687,10 @@ replicate_show (vlib_main_t * vm,
 
     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